这个左外连接怎么做

Tom_ruanbb 2006-12-11 01:01:55
2张视图
v1
ManufactureID ProductionID WID
1 1 1
1 1 2

V2
ManufactureID ProductionID WID Quantity
1 1 1 3

select isnull(Quantity,0) as 'num' from v1 left join v2
on v1.ManufactureID =v2.ManufactureID
and v1.ProductionID=v2.ProductionID
and v1.WID=v2.WID

预想结果:
num
1
0

可结果为:
num
1

这是为什么????
...全文
221 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongrenyi 2006-12-11
  • 打赏
  • 举报
回复
对啊,应该不会是
1
0
caixia615 2006-12-11
  • 打赏
  • 举报
回复
用left join可以的不过结果应该是
3
0
marco08 2006-12-11
  • 打赏
  • 举报
回复

create table v1(ManufactureID int, ProductionID int, WID int)
insert v1 select 1, 1, 1
union all select 1, 1, 2

create table v2(ManufactureID int, ProductionID int, WID int, Quantity int)
insert v2 select 1, 1, 1, 3

select isnull(v2.Quantity,0) as 'num'
from v1
left join v2
on v1.ManufactureID =v2.ManufactureID
and v1.ProductionID=v2.ProductionID
and v1.WID=v2.WID

--result
num
-----------
3
0

(2 row(s) affected)
caixia615 2006-12-11
  • 打赏
  • 举报
回复
用all join
try

34,589

社区成员

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

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