一个数据表中包含字段“编号  名称   数量”,其中数据记录中包含编号相同的物品,如何将相同编号的物资取唯一编号,且数量叠加,如编号  名称   数量
001    a       8
002    b       3
003    c       2
001    a       3
003    c       2输出结果为 
编号  名称   数量
001     a     11
002     b      3
003     c      4请问这个sql语句如何写 

解决方案 »

  1.   

    SELECT 编号,名称,SUM(数量) AS 数量 
    FROM 表
    GROUP BY 编号,名称
      

  2.   

    select 编号,姓名,数量=sum(数量)
    from tb 
    group by 编号,姓名
      

  3.   

    select 编号,姓名,sum(数量) as 数量 from tb group by 编号,姓名
      

  4.   

    select [编号],[姓名],sum([数量]) as [数量]
    from tb 
    group by [编号],[姓名]
      

  5.   


    declare @ta table(
    编号 varchar(10)
    ,名称 varchar(20)
    ,数量 int
    )
    insert @ta
    select '001','a',8 union all
    select '002','b',3 union all
    select '003','c',2 union all
    select '001','a',3 union all
    select '003','c',2 select 编号,名称,sum(数量) as 数量 from ta
    group by 编号,名称/*
    编号 名称 数量
    001 a 11
    002 b 3
    003 c 4
    */
      

  6.   


    select 编号,名称,sum(数量) as 数量 from @ta
    group by 编号,名称
      

  7.   

    SELECT 编号,名称,SUM(数量) AS 数量 
    FROM 表
    GROUP BY 编号,名称
      

  8.   


    --创建临时表
    IF OBJECT_ID('TEMPDB..#TEMP1') IS NOT NULL DROP TABLE #TEMP1CREATE TABLE #TEMP1
    (
    编号 VARCHAR(3),
    名称 VARCHAR(2),
    数量 INT
    )
    --测试数据
    INSERT INTO #TEMP1
    SELECT '001','a',8
    UNION ALL
    SELECT '002','b',3
    UNION ALL
    SELECT '003','c',2
    UNION ALL
    SELECT '001','a',3
    UNION ALL
    SELECT '003','c',2
    --查询语句
    SELECT 编号,名称,sum(数量) as 数量
    FROM #temp1
    GROUP BY 编号,名称