2011-01-20 38 views
0

架構位於:SQL的具體問題 - 獲取屬於集合中所有項目的子項

GROUP 1 ----> * USER 1 ----> 1 PERSON 1 ---> * ADRESSE 1 -----> 1 CITY

我想只得到市屬於所有用戶

是否有可能與本地SQL或做我需要反覆做。

要以簡單的方式說:我只是想有一個城市的列表,其中組中的每個用戶有....

的關係,不要着眼於現實生活中,在這個模型中用戶可以有一千個城市......

我可以嘗試把它畫(也許更簡單)

GROUP 1 -----> USER 1 -> PERSON 1-> ADRESSE 1 -> CITY 1 
     -----> USER 2 -> PERSON 2-> ADRESSE X -> CITY 1 
     -----> USER 2 -> PERSON 2-> ADRESSE Y -> CITY 2 
     -----> USER 3 -> PERSON 3-> ADRESSE Z -> CITY 1 

I want only CITY 1 
+0

請您澄清一下嗎?它看起來像你想要一個城市,所有用戶都有一個鏈接,但沒有任何意義。你的意思是隻有至少有一個用戶鏈接到的城市? – RichardTheKiwi 2011-01-20 18:39:44

回答

1

這是否讓你開始?

Select cityname, count(distinct userID) 
from User u inner join Person p on u.personID = p.personID 
inner join Adresse a on p.addressID = a.addressID 
inner join City c on a.cityID = p.cityID 
group by cityName 
0

假設你在每個綁在一起的表ID字段......使用這種類型的where子句會僅返回具有城市的行...

 
Select * 
from Group, User, Person, Adresse, City 
where city.cityID = addresse.cityID 
and addresse.addressID = person.adresse.addressID 
and person.personID = user.personID 
and user.userID = group.userID 

相關問題