比如我有三张表A B C,A里字段id是B和C里的外键,我想做的效果是查询A表某个id,如果这个id存在于B表就查询B表的数据,如果不存在就查询C表的数据,不用存储过程单SQL能写出来不?
7条回答 默认 最新
- tearhero 2013-07-02 12:56关注
如果A表对B、C表的关系是一对一,那建议采取dzwfeng的方式;
如果是一对多,左连接就会出现B,C表笛卡尔积,因为B,C表之间没有关联关系;
这种情况建议使用union,如:
select A.id,B.name
from A inner join B on A.id=B.id
union
select A.id,C.name
from A inner join C on A.id=C.id
注:是否使用union all决定于你的具体需求本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报