2015-06-24 46 views
1

希望有一個相當簡單的SQL,我有一個兩列,街道和城市的表。鑑於3個街道名稱的列表,我如何選擇街道常見的城市?SQLServer選擇公共元素

例如。

Street  City 
------  ---- 
1st St  NYC 
2nd St  NYC 
3rd St  NYC 
1st St  SF 
1st St  LA 
etc St  XX 

如果我有「第一大街」,「二街」和「第三街」,其查詢返回「NYC」?

回答

4

您可以使用group byhaving

select t.city 
from table t 
where t.street in ('1st st', '2nd st', '3rd st') 
group by t.city 
having count(distinct t.street) = 3; 

這是一套,內集查詢,在那裏你正在尋找套東西(街道)爲另一件事(市)的一個例子。 Group byhaving是解決這類問題的一種非常靈活的方法。

+0

看起來不錯,非常感謝.... – GreigM