回答編集履歴
1
追記
answer
CHANGED
@@ -12,4 +12,21 @@
|
|
12
12
|
having count(*)=2
|
13
13
|
)
|
14
14
|
```
|
15
|
-
count(*)と比較している数を、条件のtagの数と合わせる必要があります。
|
15
|
+
count(*)と比較している数を、条件のtagの数と合わせる必要があります。
|
16
|
+
|
17
|
+
追記
|
18
|
+
--
|
19
|
+
hotelsのプライマリーはhotel_idなので、訂正。
|
20
|
+
※定義でなんで(hotel_id, country_code)をユニークにしているのか不明ですが。
|
21
|
+
前者と結果は変わらないと思いますが、簡潔なので。
|
22
|
+
```SQL
|
23
|
+
SELECT * FROM hotels
|
24
|
+
where hotel_id in (
|
25
|
+
select hotel_id
|
26
|
+
from hotels_tags inner join tags
|
27
|
+
on hotels_tags.tags_id = tags.tags_id
|
28
|
+
where tag in ('朝食付き', 'キャンセル無料')
|
29
|
+
group by hotel_id
|
30
|
+
having count(*)=2
|
31
|
+
)
|
32
|
+
```
|