teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/02/28 12:39

投稿

sazi
sazi

スコア25430

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
+ ```