注册 登录
编程论坛 SQL Server论坛

急!请教 sql 汇总查询问题:

wesley219 发布于 2007-06-13 14:53, 1144 次点击

急!请教 sql 汇总查询问题:
数据库记录如下:

表1

名称 数量 规格
a 2 1*1
a 1 1*1
a 2 2*1
b 2 1*1

现想查询 汇总如下显示记录

名称 数量 规格
a 3 1*1
a 2 2*1
b 2 1*1


相同商品相同规格,数量垒加汇总统计显示。

我是这么写的:
select 名称,sum(数量),规格 from 表1 group by 名称,数量,规格
查询结果不对。

请教 SQL 查询语句怎么写 谢谢。。。

8 回复
#2
cyyu_ryh2007-06-13 15:10

把规格提前看

#3
wesley2192007-06-13 15:17

查询效果 相同的。。

#4
cyyu_ryh2007-06-13 16:35

这样写,
select 名称,sum(数量),规格 from 表1 group by 名称,规格

#5
wesley2192007-06-13 17:03

不可以 会报
列 '数量' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。

请问如何解决

#6
cyyu_ryh2007-06-13 18:06
不会哦
我试了下,可以啊
#7
cyyu_ryh2007-06-13 18:16
select sum(sl) as slll,name,gg from cy group by name,gg
绝对没问题,无论有无AS都没问题,是不是你自己写错了哦
#8
fqbnet20082007-06-14 09:17

go
select [name],sum(number) as number,type from goods group by [name],type order by number desc,name

试一下我的这个,表结构和你的一样,没问题的
#9
lzalibabalr2007-08-01 12:37


DECLARE @tb_1 TABLE([名称] CHAR(2),[数量] INT ,[规格] CHAR(10))
INSERT INTO @tb_1 SELECT 'a',2,'1*1'
UNION ALL SELECT 'a',1,'1*1'
UNION ALL SELECT 'a',2,'2*1'
UNION ALL SELECT 'b',2,'1*1'

SELECT [名称],SUM([数量]),[规格]
FROM @tb_1
GROUP BY [名称],[规格]
ORDER BY [名称]

1