查询以查找处于多个状态的湖泊

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>)