3

私はテーブルを持っていますhotel [hotelid,hotelname,etc]

そして別のテーブルfacilities[facilityid,facilityname]

これら2つのテーブルは、テーブルを介してリンクされていますhotel_to_facilities_map[hotelid,facility_id]

したがって、テーブルには次のようhotel_to_facilities_mapな値が含まれる場合があります

hotelid facility_id
-------------------
1         3
1         5
1         6
2         6
2         2
2         5

今、私は要求されたすべての施設に一致するすべてのホテルを取得したい

select * from hotel_to_facilities_map where facility_id IN (3,5,2)

ORしかし、これにより、必要なときに式として一致が発生しますAND

これに対する回避策または解決策はありますか?

4

1 に答える 1

3
select hotelid
from hotel_to_facilities_map
where facility_id in (3,5,2)
group by hotelid
having count(*) = 3
于 2012-07-11T10:19:42.630 に答える