回答編集履歴

2

一行にまとめる SQL を追加

2017/02/22 05:25

投稿

tacsheaven
tacsheaven

スコア13703

test CHANGED
@@ -31,3 +31,31 @@
31
31
  ```
32
32
 
33
33
  となりますね。(同じショップが月曜日と火曜日で2行出ます)
34
+
35
+
36
+
37
+ もう少しひねって、
38
+
39
+ ```SQL
40
+
41
+ SELECT s.id, s.name,
42
+
43
+ CASE SUM(h.id) WHEN 1 THEN '月曜日'
44
+
45
+ WHEN 2 THEN '火曜日'
46
+
47
+ WHEN 3 THEN '月・火' END AS holidays
48
+
49
+ FROM shop s
50
+
51
+ INNER JOIN shop_holiday sh ON (sh.id = s.id)
52
+
53
+ INNER JOIN holiday h ON (h.id = sh.holiday)
54
+
55
+ WHERE h.name in ('月曜日', '火曜日')
56
+
57
+ GROUP BY s.id, s.name
58
+
59
+ ```
60
+
61
+ もあるけど、トリッキーすぎるかな。

1

誤字修正

2017/02/22 05:25

投稿

tacsheaven
tacsheaven

スコア13703

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  INNER JOIN shop_holiday sh ON (sh.id = s.id)
10
10
 
11
- INNER JOIN holiday h ON (s.holiday = h.id)
11
+ INNER JOIN holiday h ON (h.id = sh.holiday)
12
12
 
13
13
  WHERE h.name in ('月曜日', '火曜日')
14
14