只能使用一句sql语句 B表中可能多个相同商记录销售品的 销售记录
b_Id b_count
1 34
1 45
2 20
3 40
现有两张表A,B A表里有各商品Id和数量 B表里有各商品Id和已卖数量记录 查询个商品还剩多少?
答案:3 悬赏:40 手机版
解决时间 2021-01-31 11:23
- 提问者网友:孤凫
- 2021-01-31 02:20
最佳答案
- 五星知识达人网友:十鸦
- 2021-01-31 03:58
select A.商品id,isnull(A.商品数量-B.已卖数量,0) as 剩余数量
from A
left join
(
select 商品id,sum(已卖数量) as 已卖数量 group by 商品id
)B on A.商品Id=B.商品Id
from A
left join
(
select 商品id,sum(已卖数量) as 已卖数量 group by 商品id
)B on A.商品Id=B.商品Id
全部回答
- 1楼网友:举杯邀酒敬孤独
- 2021-01-31 05:22
上面的回答有两个问题
第一应该是where不是and
select A.商品id,A.数量-B.已卖数量 as 剩余数量 from A,B where A.商品Id=B.商品Id
第二如果B表中没有卖出记录,则A表中有的数据不会显示
可以用临时表
也可以如下
select A.商品id,A.数量-B.已卖数量 as 剩余数量 from A,B where A.商品Id=B.商品Id
union all
select A.商品id,A.数量 from A where A.商品Id not in (select A.商品id from A,B where A.商品Id=B.商品Id )
- 2楼网友:山君与见山
- 2021-01-31 05:13
select A.商品id,A.商品数量-B.已卖数量 as 剩余数量 left join B on A.商品Id=B.商品Id
使用左连接比较好。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯