只是看到這樣的畫面: MySQL的選擇多對多有所有條件
如何我選擇dorm_id(70)?
dorm_id是home ides,facility是主題屬性,每個home有一些設施,例如home id 70有這些設施(12,13,14,17,18),如何從dorm_id中選擇數字70列。
它的搜索查詢發現,擁有所有設施提前
感謝dorm_id
只是看到這樣的畫面: MySQL的選擇多對多有所有條件
如何我選擇dorm_id(70)?
dorm_id是home ides,facility是主題屬性,每個home有一些設施,例如home id 70有這些設施(12,13,14,17,18),如何從dorm_id中選擇數字70列。
它的搜索查詢發現,擁有所有設施提前
感謝dorm_id
你能做到這樣,如果你有一臺名爲table_facility您facility_id:
select dorm_id
from table_dorm
group by dorm_id
having count(distinct facility_id)=(select count(distinct facility_id)
from table_facility)
如果您將它們放在同一個表格中,則可以使用此查詢來完成:
select dorm_id
from table_dorm
group by dorm_id
having count(distinct facility_id)=(select count(distinct facility_id)
from table_dorm)
我解決了這個問題,你所需要的只是你不仔細看圖片!
SELECT dorm_id
FROM dorm
WHERE facility_id IN (12, 13, 14)
GROUP BY doctor_id
HAVING COUNT(DISTINCT ability_id) = 3
你能說清楚一點,你的要求不清楚。你想'設施ID'有'Dorm_id'爲70.? – Sinto
你是什麼意思,這是唯一的宿舍,所有的設施id(12,13,14,17,18)'? –
請參閱:[爲什麼我應該爲我認爲是非常簡單的SQL查詢提供一個MCVE?](https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve - 對於什麼似乎對我來說是一個非常簡單的SQL查詢) – Strawberry