select a.商品代码,
a.商品名称,
销售数量=isnull(b.销售数量,0),
兑换数量 = isnull(c.兑换数量,0),
合计数量= 销售数量+兑换数量
from 商品表 a left join 销售表 b
on a.商品代码 = b.商品代码
left join 兑换表 c
on a.商品代码 = c.商品代码
a.商品名称,
销售数量=isnull(b.销售数量,0),
兑换数量 = isnull(c.兑换数量,0),
合计数量= 销售数量+兑换数量
from 商品表 a left join 销售表 b
on a.商品代码 = b.商品代码
left join 兑换表 c
on a.商品代码 = c.商品代码
解决方案 »
- 我想学习SQLServer的存储过程,不知道有哪位大侠能帮帮我!!!
- 请问一个存储过程的问题
- 求一SQL
- 子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
- 邹建请进
- 求助 SQL中的判断问题
- 关于备份
- 自建函数中 如何用for或while
- 我用SQLSERVER2000建一个数据库,其中字段已经建好,但记录怎样输入?
- 如何用 SQL 得到数据库中的所有字段名?
- 我想根据页熟查询 记录比如页书5,每页显示5条,select * form news where id>=25,id<=30,这是返回的,但是有个问题,MSSQL的自动编号id,
- 关于公交线路的建表问题,请高手赐教!!!!
insert into 商品表 values(1,'A')
insert into 商品表 values(2,'B')
insert into 商品表 values(3,'C')
create table 销售表( 商品代码 int ,商品名称 varchar(2), 销售数量 int )
insert into 销售表 values(01, 'A' ,10)
insert into 销售表 values(03, 'C' ,30)
create table 兑换表(商品代码 int, 商品名称 varchar(20), 兑换数量 int) insert into 兑换表 values(01 ,'A' ,10)
insert into 兑换表 values(02 ,'B' ,20)
select a.商品代码,a.商品名称 ,isnull(b.销售数量,0) ,isnull(c.兑换数量,0) ,isnull(b.销售数量,0)+isnull(c.兑换数量 ,0)
from 商品表 a left join 销售表 b on a.商品代码=b.商品代码 join (商品表 d left join 兑换表 c on d.商品代码=c.商品代码)
on a.商品代码=d.商品代码
商品代码 商品名称
----------- ---- ----------- ----------- -----------
1 A 10 10 20
2 B 0 20 20
3 C 30 0 30(所影响的行数为 3 行)
a.商品名称,
销售数量=isnull(b.销售数量,0),
兑换数量 = isnull(c.兑换数量,0),
合计数量= isnull(b.销售数量,0)+isnull(c.兑换数量,0)
from 商品表 a left join 销售表 b
on a.商品代码 = b.商品代码
left join 兑换表 c
on a.商品代码 = c.商品代码