2016-11-16 38 views
1

我有表格來存放有關湖泊,縣和州的信息。我也有一個名爲LakeLocation的表格,它簡單的是一對LakeID和CountyID的外鍵,所以我可以知道它們在哪裏。每個縣都有一個StateName。查詢查找處於多個州的湖泊

它的所有的高級看法是這樣的:

Lake = {id,name,...}

County = {id, name, StateName ....}

State = {name, ...}

LakeLocation = {LakeID, CountyID}

我試圖找出哪些國家有處於不止一個州的湖泊。太浩湖就是一個例子,它橫跨四條縣線和兩條州線。我知道我需要一個遞歸查詢,但我只理解簡單的一個表子/父類型關係。不是這個。

我該如何設計一個能滿足我需要的查詢?由於

+0

採樣數據將是非常有益的。 – CGritton

回答

2

你只需要一個group by知道什麼是江湖

SELECT LakeID 
    FROM LakeLocation 
    GROUP BY LakeID 
    HAVING COUNT(CountyID) > 1 

然後如果你想湖名

SELECT * 
    FROM Lake 
    WHERE LakeID IN (<previous query>) 
+0

謝謝你的回答,它解決了我的問題。我的實際問題更加複雜,這部分是最大的問題,我不想直接詢問所有事情,因爲我想自己弄清楚。 –