SQL连表查询,当不存在时赋值为0

飞舞的锄头 2014-03-19 02:58:30
有两个表结果如下

先要通过A.A=B.A1查询出A表中在B表中对应的全部数据,不存在的赋值为0 结果如下

求SQL该怎么写?
...全文
2049 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
直面人生 2014-03-19
  • 打赏
  • 举报
回复
select a.A,a.B,a.C,isnull(b.A1,0) 'A1' from A a left join (select distinct A1 from B) b on a.A=b.A1 还是用 isnull()方便阿..
wylwyl1108 2014-03-19
  • 打赏
  • 举报
回复
补充下: 全连接来做。。。然后把null换成 0 用case when then
wylwyl1108 2014-03-19
  • 打赏
  • 举报
回复
用 case when then
唐诗三百首 2014-03-19
  • 打赏
  • 举报
回复

select a.A,a.B,a.C,isnull(b.A1,0) 'A1'
 from A a
 left join (select distinct A1 from B) b on a.A=b.A1
發糞塗牆 2014-03-19
  • 打赏
  • 举报
回复
B1,C1要处理吗?
--小F-- 2014-03-19
  • 打赏
  • 举报
回复
select
   a.a,a.b,a.c,isnull(b.a1,'0') as a1
from 
   a left join b on a.a=b.a1
你B表的A1是字符型的
--小F-- 2014-03-19
  • 打赏
  • 举报
回复
select
   a.a,a.b,a.c,isnull(b.a1,0) as a1
from 
   a left join b on a.a=b.a1

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧