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

想破脑袋想不出来?

阅读 2.3k
1 个回答

对查询结果加条件判断的SQL不会写。看你思路很清晰,不可以一步步查,判断条件再程序代码里做吗?要不就要写存储过程吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进