日期:2014-05-17  浏览次数:20596 次

这样的sql请问怎么写?
表1   商家表
ID  ShopName area
1   商家1    area002
2   商家2    area004

表2   区域表
ID      ctiy   partent
area001 江苏   0
area002 无锡   area001
.....

表3  代理表
iD   area     name 
1    area001  代理1
...

区域表partent为0时代表省份,其余为市级
代理表里area 绑定的是省份
我想查询商家是否还否有代理,有的话显示代理名称
类似查询结果为 表1.id,表1.ShopName,表1.area,is代理,表3.name 
这样,请问SQL该怎么写
 
------解决方案--------------------

select 表1.id,表1.ShopName,表1.area,
CASE 表3.name when null then '否' else '是' end as [is代理] ,
 表3.name 
from 表1 
left join 表2 on 表1.area=表2.ID
left join 表3 on 表2.ID=表3.area