sql查询 多查询 嵌套查询
有表A,表B两个表格
表A 仅2个字段 长度、类型相同,类型为Varchar
假设为
A:
a | b |
---|---|
45 | 66 |
88 | 77 |
55 | 55 |
34 | 66 |
99 | 98 |
表B有3个字段 字段a,b长度类型相同,类型为Varchar,b字段可以为空,字段c类型也为Varchar
假设为
B:
a | b | c |
---|---|---|
45 | 1 | |
32 | 88 | 2 |
55 | 55 | 3 |
22 | 34 | 2 |
以表A为主表,用A.a先去找B.a,如若相同的就取B.c;如果匹配后为空,则下一个条件:用A.a去匹配B.b,相同的话就去B.c,若再为空,则再下一条件:用A.b=B.a去匹配,相同则取B.c,无相同则再再下一条件:A.b=B.b,相同则去B.c,再无相同则赋值null;
如上表A、B查询后结果为
C:
e | f | g |
---|---|---|
45 | 66 | 1 |
88 | 77 | 2 |
55 | 55 | 3 |
34 | 66 | 2 |
99 | 98 | null |
想破脑袋想不出来?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对查询结果加条件判断的SQL不会写。看你思路很清晰,不可以一步步查,判断条件再程序代码里做吗?要不就要写存储过程吧。