OrderID GoodsID Num
1        a      1 
2        s      3
3        a      3
4        c      2订单合并时 订单里有相同的商品 则数量相加。否则 修改订单的 编号 
下:
OrderID GoodsID Num
1        a      4  (都合并为 1 )
1        s      3
1        c      2这样的想法不知道 合适吗?、怎么让相同的商品数量相加啊???

解决方案 »

  1.   

    select orderid='1', goodsID,sum(num) from table group by goodsID
      

  2.   

    select min(OrderID) as OrderID,GoodsID,sum(Num) as Num from [yourtable] group by GoodsID order by OrderID
      

  3.   

    UPDATE yourtable SET  OrderID =select min(OrderID) as OrderIDfrom [yourtable] )
      

  4.   

    2. 行列转换--合并有表A,
    id pid
    1   1
    1   2
    1   3
    2   1
    2   2
    3   1
    如何化成表B:
    id pid
      1  1,2,3
      2  1,2
      3  1创建一个合并的函数
    create function fmerg(@id int)
    returns varchar(8000)
    as
    begin
    declare @str varchar(8000)
    set @str=''
    select @str=@str+','+cast(pid as varchar) from 表A where id=@id set @str=right(@str,len(@str)-1)
    return(@str)
    End
    go--调用自定义函数得到结果
    select distinct id,dbo.fmerg(id) from 表A
    是否是要这效果?
      

  5.   


    CREATE TABLE TBTEST(OrderID INT, GoodsID VARCHAR(1), Num INT)
    INSERT TBTEST
    SELECT 1    ,    'a'   ,   1 UNION ALL
    SELECT 2    ,    's'   ,   3 UNION ALL
    SELECT 3    ,    'a'   ,   3 UNION ALL
    SELECT 4    ,    'c'   ,   2 --DROP TABLE TBTEST--SELECT * FROM TBTESTUPDATE TBTEST SET OrderID=(SELECT MIN(OrderID) FROM TBTEST)SELECT OrderID,GoodsID,SUM(NUM)NUM FROM TBTEST GROUP BY OrderID,GoodsID
    OrderID     GoodsID NUM         
    ----------- ------- ----------- 
    1           a       4
    1           c       2
    1           s       3(所影响的行数为 3 行)
      

  6.   

    up! uP! UP! uP!UP!