两个记录集横向合并的问题!!!!!!!!!!!!!!!!!

鲁班大叔 2003-07-02 09:53:21
我的表里有以下字段:id quantity flag
id是一种商品的标识
quantity 是数量
flag是卖货/退货的标志 0为卖, 1为退

数据可能如下

1 10 0
1 1 1
2 15 0
3 2 0
3 1 1

一种商品最多有两条记录,即每种商品都有卖货记录,退货记录不一定都有。
现在想统计每种商品实际卖货数(卖-退)。没有退货的就是(卖-0)

如何用一条sql语句统计出来吗?
...全文
59 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
happydreamer 2003-07-02
  • 打赏
  • 举报
回复


select id,sum(case when flag=0 then quantity else -quantity end ) as 实际卖货数
from test1
group by id
happydreamer 2003-07-02
  • 打赏
  • 举报
回复


select id,sum(case when flag=0 then quantity else -quantity end ) as 实际卖货数
from test1
group by id
愉快的登山者 2003-07-02
  • 打赏
  • 举报
回复
select A.id, A.quantity - isnull(B.quantity, 0) 实际卖货数 from table1 A
left join talbe1 B on A.id = B.id and A.flag = 0 and B.flag = 1
CrazyFor 2003-07-02
  • 打赏
  • 举报
回复
selecl id,sum(case when flag=1 then -1*quantity else quantity end) from 表 group by id
CrazyFor 2003-07-02
  • 打赏
  • 举报
回复
selecl id,sum(case when flag=1 then -1*quantity else quantity end) from 表 group by id

34,576

社区成员

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

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