问个数据库问题

两张表:

表A ,  RQ,ID,JE

表B,   RQ,ID,ZJE

要的结果是:RQ相等,ID相等,RQ,ID,JE,ZJE 这样。我写完了发现表B有一天有这个ID,表A里不存在就匹配不到,这个条件应该怎么写。

SQL ysbin 发布于 2022-12-7 14:14
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2022-12-7 14:16

你这个不是悖论吗,需要RQ相等,ID相等,你又又不相等的,。。。要么只RQ相等关联,不判断ID

  • ysbin ysbin(提问者) 突然发现还真是,那这要怎么实现这个需求,如果表A没有,把表B这个数取出来。
    2022-12-07 14:19 
  • snrtuemc snrtuemc 回复 ysbin(提问者) 那就先AB表先RQ和ID字段都查询出,先union在distinct下,作为主表去和AB表做左连接,这样 就可以了
    2022-12-07 14:21 
  • ysbin ysbin(提问者) 回复 snrtuemc 明白了,感谢,感谢。先union合并当基础表,一直没想明白,这个基础表怎么来。
    2022-12-07 14:33 
  • snrtuemc snrtuemc 回复 ysbin(提问者) select RQ,ID from A union select RQ,ID from B这个作为基础表,那会把所有在AB表RQ和ID不一样的查询出来,就不会丢失了
    2022-12-07 14:36 
  • ysbin ysbin(提问者) 回复 snrtuemc 是的,我测试成功了,非常感谢。
    2022-12-07 17:22 
最佳回答
1
yzm339714Lv6中级互助
发布于2022-12-7 14:17

那你这个要full  join   . select isnull(a.rq ,b.rq) rq,isnull(a.id,b.id) id,je,zje from a full join  b on  a.rq = b.rq and a.id = b.id

  • 3关注人数
  • 189浏览人数
  • 最后回答于:2022-12-7 14:17
    请选择关闭问题的原因
    确定 取消
    返回顶部