请教一下这个sql怎么写 顶者皆有分 谢谢各位了
有一个表 列为
id(标识自增)产品名称 数量 规格 状态(0为进货 1为出货)日期 客户编号
数据如
1 恰恰瓜子 100 500克 0 2006-11-4 23
2 娃哈哈酸奶300 100克 0 2006-12-3 11
3 恰恰瓜子 80 500克 1 2006-11-4 4
4 娃哈哈酸奶100 100克 1 2006-12-3 5
我现在想要实现的功能是 计算当前的库存产品数量。
就是 同名称同规格的产品进货总量-出货总量
输出结果
产品名称 数量 规格
恰恰瓜子 20 500克
娃哈哈酸奶 200 100克
[解决办法]
Select
产品名称,
SUM(Case 状态 When 0 Then + 数量 Else - 数量 End) As 数量,
规格
From TableName
Group By 产品名称, 规格
[解决办法]
沙發
[解决办法]
暈,想先頂後看的,被搶了..
[解决办法]
select 产品名称,sum(case when 状态=0 then 数量*-1 else 数量 end) as 数量, 规格
from tablename
group by 产品名称
[解决办法]
-SORRY,先反了
select 产品名称,sum(case when 状态=0 then 数量 else 数量*-1 end) as 数量, 规格
from tablename
group by 产品名称
[解决办法]
Create Table TEST
(idInt Identity(1, 1),
产品名称Nvarchar(50),
数量Int,
规格Nvarchar(20),
状态Bit,
日期DateTime,
客户编号Int)
Insert TEST Select N '恰恰瓜子 ', 100, N '500克 ', 0, '2006-11-4 ', 23
Union All Select N '娃哈哈酸奶 ', 300, N '100克 ', 0, '2006-12-3 ', 11
Union All Select N '恰恰瓜子 ', 80, N '500克 ', 1, '2006-11-4 ', 4
Union All Select N '娃哈哈酸奶 ',100, N '100克 ', 1, '2006-12-3 ', 5
GO
Select
产品名称,
SUM(Case 状态 When 0 Then + 数量 Else - 数量 End) As 数量,
规格
From TEST
Group By 产品名称, 规格
GO
Drop Table TEST
--Result
/*
产品名称数量规格
娃哈哈酸奶200100克
恰恰瓜子20500克
*/
[解决办法]
怪事了,一看到Case when 就不爽, 总想找别的代替,哪怕更麻烦效率更差
Select
产品名称,
SUM((0.5-状态) * 2 * 数量) As 数量,
规格
From TableName
Group By 产品名称, 规格
[解决办法]
select 产品名称,数量=sum(case when 状态=0 then 数量 else -数量 end),规格 from 表
group by 产品名称,规格
order by 产品名称
[解决办法]
需要女人的开导...
[解决办法]
Select
产品名称,
SUM(Case 状态 When 0 Then + 数量 Else - 数量 End) As 数量,
规格
From TableName
Group By 产品名称, 规格
[解决办法]
create table t_tbl(id int identity(1,1),产品名称 varchar(50),数量 int,规格 varchar(10) ,zhuangtai bit,date_time smalldatetime,cust_num int )
insert t_tbl (产品名称,数量,规格,zhuangtai,date_time,cust_num)
select
'恰恰瓜子 ', 100, '500克 ', 0, '2006-11-4 ',23
union all select
'娃哈哈酸奶 ',300, '100克 ', 0 , '2006-12-3 ',11
union all select
'恰恰瓜子 ' ,80, '500克 ', 1, '2006-11-4 ', 4
union all select
'娃哈哈酸奶 ',100, '100克 ', 1 , '2006-12-3 ',5
select 产品名称,sum(case when zhuangtai=1 then -数量 else 数量 end)
,规格
from t_tbl
group by 产品名称,规格
==========
产品名称 规格
-------------------------------------------------- ----------- ----------
娃哈哈酸奶 200 100克
恰恰瓜子 20 500克
(所影响的行数为 2 行)
drop table t_tbl
[解决办法]
这么多人都回答了......