有表如下:
product商品
————————————————
name price
果汁 4
自行车 450
手机 2600discount折扣
----------------
name money
手机 500
自行车 28product商品表 记录了商品名称和价格
discount折扣表 记录了折扣的商品和折扣了多少钱
我要用一个查询查出所有商品折扣后的价格列表
select a.[name] 商品, sum(a.[price]-b.[money]) 价格 from product as a
left outer join discount as b on a.[name]=b.[name]
group by a.[name]
这样查出来的结果是:
----------------
商品 价格
果汁 NULL
手机 2100
自行车 422果汁是空的, SOS~
product商品
————————————————
name price
果汁 4
自行车 450
手机 2600discount折扣
----------------
name money
手机 500
自行车 28product商品表 记录了商品名称和价格
discount折扣表 记录了折扣的商品和折扣了多少钱
我要用一个查询查出所有商品折扣后的价格列表
select a.[name] 商品, sum(a.[price]-b.[money]) 价格 from product as a
left outer join discount as b on a.[name]=b.[name]
group by a.[name]
这样查出来的结果是:
----------------
商品 价格
果汁 NULL
手机 2100
自行车 422果汁是空的, SOS~
left outer join discount as b on a.[name]=b.[name]
group by a.[name]
select a.[name] 商品, sum(inull(a.[price],0)-isnull(b.[money],0)) 价格 from product a
left join discount b on a.[name]=b.[name]
group by a.[name]
sum(a.[price]-isnull(b.[money],0))价格
from product as a
left outer join discount as b on a.[name]=b.[name]
group by a.[name]
商品 价格
果汁 NULL
手机 2100
自行车 422
6楼可以了,能说明一下原理吗?
discount没有果汁
所以针对果汁,b.[money]=0