我有表格来保存有关湖泊,县和州的信息。我还有一个名为LakeLocation的表,它只是一对LakeID和CountyID的一对外键,所以我可以知道它们在哪里。每个县都有一个StateName。
这一切的高级视图是这样的:
Lake = {id,name,...}
County = {id, name, StateName ....}
State = {name, ...}
LakeLocation = {LakeID, CountyID}
我试图找出哪些州有不止一个州的湖泊。一个例子是太浩湖,它跨越四条县线和两条州线。我知道我需要一个递归查询,但我只理解那些简单的一个表子/父类型关系。不是这个。
如何设计满足我需求的查询?感谢
答案 0 :(得分:2)
您只需group by
即可知道湖泊是什么
SELECT LakeID
FROM LakeLocation
GROUP BY LakeID
HAVING COUNT(CountyID) > 1
然后,如果你想要湖名
SELECT *
FROM Lake
WHERE LakeID IN (<previous query>)