[英]SQL Server - Returning Multiple Rows Based on 'IF' Criteria
有更好的解釋:
我在 SQL 服務器連接表,每個實體都有多行 - 或者我的示例數據中的“House”。 我只想要那些在我要加入的表中具有花園、車道和入口大廳類型的“房屋 UID”。 如果他們有更多並不重要,但必須有 House_UID 行,其中至少有 Garden、Drive 和 Entrance hall 作為要返回的 House_UID 的“事物類型”值。
在示例數據中,這將是 1 和 3。
我試過了
Select HOUSE_UID, THING_TYPE from HOUSES
Join HOUSE_THINGS on HOUSES.HOUSE_THING = HOUSE_THINGS.THING
WHERE HOUSE_UID in (select HOUSE_UID from houses
Join HOUSE_THINGS on HOUSES.HOUSE_THING = HOUSE_THINGS.THING
where house_thing = x)
and HOUSE_UID in (select HOUSE_UID from houses
Join HOUSE_THINGS on HOUSES.HOUSE_THING = HOUSE_THINGS.THING
where house_thing = y)
and HOUSE_UID in (select HOUSE_UID from houses
Join HOUSE_THINGS on HOUSES.HOUSE_THING = HOUSE_THINGS.THING
where house_thing = z)
但這似乎不起作用 - 我得到的結果沒有我感興趣的所有行。歡迎任何新想法!
謝謝
使用聚合
select houseid from table_name
where house in ('Garden', 'Drive','Entrance hall')
group by houseid
having count(distinct house)>=3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.