比如我有三张表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决定于你的具体需求本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛
- ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
- ¥30 python代码,帮调试
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元