sql查询问题

fengzairenjian 2007-12-03 11:35:01
用SQL做查询,两个表,ID关联,A表很全,B表有的没有,怎么让B表没有的都显示为0?
比如A表:ID:001,002,003
B表ID:002,
AMOUNT:100

我想查出这样的效果
ID AMOUNT
001 0
002 100
003 0


用SQL怎么写?
...全文
100 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglei8 2007-12-03
  • 打赏
  • 举报
回复

create table A(ID int)
insert A select 001 union all select 002 union all select 003
create table B(ID int,AMOUNT int)
insert B select 002,100


select A.ID , isnull(B.AMOUNT,0) as AMOUNT from A left join B on A.ID=B.ID

areswang 2007-12-03
  • 打赏
  • 举报
回复
isnull()
fa_ge 2007-12-03
  • 打赏
  • 举报
回复

select a.id,isnull(amount,0) amount from a left join b on a.id=b.id
威尔亨特 2007-12-03
  • 打赏
  • 举报
回复
左链接,和右表没有匹配的数据也出
chuifengde 2007-12-03
  • 打赏
  • 举报
回复
select a.id,isnull(amount,0) amount from a left join b on a.id=b.id
playwarcraft 2007-12-03
  • 打赏
  • 举报
回复
select A.id,isnull(B.amount,0) as amount
from A
left join B
on A.id=B.id

34,587

社区成员

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

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