查询以查找处于多个状态的湖泊
Query to find lakes that are in multiple states
我有 table 来保存有关湖泊、县和州的信息。我还有一个名为 LakeLocation 的 table,它是一对简单的 LakeID 和 CountyID 外键,因此我可以知道它们在哪里。每个县里面都有一个StateName。
这一切的高级视图是这样的:
Lake = {id,name,...}
County = {id, name, StateName ....}
State = {name, ...}
LakeLocation = {LakeID, CountyID}
我正在尝试找出哪些州的湖泊位于多个州。一个例子是跨越四个县界和两个州界的太浩湖。我知道我需要一个递归查询,但我只理解那些简单的 table child/parent 类型关系。不是这个。
如何设计满足我需要的查询?谢谢
你只需要一个group by
就知道什么是湖泊
SELECT LakeID
FROM LakeLocation
GROUP BY LakeID
HAVING COUNT(CountyID) > 1
那么如果你想要湖泊名称
SELECT *
FROM Lake
WHERE LakeID IN (<previous query>)
我有 table 来保存有关湖泊、县和州的信息。我还有一个名为 LakeLocation 的 table,它是一对简单的 LakeID 和 CountyID 外键,因此我可以知道它们在哪里。每个县里面都有一个StateName。
这一切的高级视图是这样的:
Lake = {id,name,...}
County = {id, name, StateName ....}
State = {name, ...}
LakeLocation = {LakeID, CountyID}
我正在尝试找出哪些州的湖泊位于多个州。一个例子是跨越四个县界和两个州界的太浩湖。我知道我需要一个递归查询,但我只理解那些简单的 table child/parent 类型关系。不是这个。
如何设计满足我需要的查询?谢谢
你只需要一个group by
就知道什么是湖泊
SELECT LakeID
FROM LakeLocation
GROUP BY LakeID
HAVING COUNT(CountyID) > 1
那么如果你想要湖泊名称
SELECT *
FROM Lake
WHERE LakeID IN (<previous query>)