3

我有 3 张桌子

Division 

id    name  
1       A 
2       B


Region

Id       name     Divsion_id
01      Rim          A


Territory

Id       name       region_id

001      a               01
002      b               01
003      c               01

现在我想编写一个查询,以便用户选择部门并显示其各自的区域。

我怎样才能写这个查询,如

Divsion和Region之间没有直接关系吗?

4

2 回答 2

4
select t.* from territory t
inner join region r on r.id = t.region_id
inner join devision d on d.name = r.division_id
where d.name = 'A'
于 2012-04-23T13:18:48.653 回答
0

另一种方法是将IN运算符与子查询一起使用。内部查询投影具有给定区域 id 的所有区域,外部查询查找具有选定区域的区域。尽管联接应该比嵌套查询执行得更好。

  select * from territory where region_id   in  (select region_id from region where devision_id=<division id>)
于 2017-01-29T13:10:15.147 回答