我正在嘗試寫一個linq查詢,它使用多個相關數據表並且陷入了困境。Linq查詢幫助
預期結果:我需要按人口下降返回每個地區三個人口最多的大都市區。
表W /樣本數據:
MetroAreas - ID,名稱
2,大紐約
城市 - ID,姓名,STATEID
1293912,紐約市,10
城市人口 - 城市ID,城市ID,人口普查年,人口
20,1293912,2008年,123456789
21,1293912,2007年,123454321
MetroAreaCities - ID,CityID,MetroAreaID
1,1293912,2
國 - ID,姓名, RegionID
10,紐約,5個
地區 - ID,名稱
5,沒有rtheast
我開始與地鐵領域。加入MetroAreaCities以獲取城市ID。加入城市以獲取州ID。加入國家以獲得區域ID。加入地區,我可以過濾一個地方。當我試圖包含CityPopulations時,我陷入了困境。我只想要一個特定地區的三個人口最多的都市區。在cityPopulations上簡單加入會每年返回一個記錄。
(這是我到目前爲止,該查詢是書面亞音速3):
return from p in GeoMetroArea.All()
join q in GeoMetroAreaCity.All() on p.ID equals q.MetroAreaID
join r in GeoCity.All() on q.CityID equals r.ID
join s in GeoState.All() on r.StateID equals s.ID
join t in GeoRegion.All() on s.RegionID equals t.ID
where t.ID == regionObjectPassedToMethod.ID
select p;
誰能幫我這個查詢或點我在正確的方向?非常非常感謝你。
你要哪一年使用人口?最近的?平均? – 2009-10-12 16:14:03
我想最近一年... – jas 2009-10-12 18:20:42