http://community.csdn.net/Expert/topic/4105/4105809.xml?temp=.1527674看這個貼子.最終不是我的答案.解答我開貼送分你.謝謝了,急著用啊.

解决方案 »

  1.   

    有记录如下:ID    Color   Zsb   SizeF   Size1   Size2
    40    (黑色)   A     10      10      20
    40    (灰色)   A     10      10      20
    40    (蓝色)   B     20      20      30
    40    (浅橙)   C     20      25      26
    40    (深绿)   D     18      17      16
    现在将ID相同ZSB相同的数量加起来,并取用ID相同ZSB相同的那些记录中的第一条记录的COLOR作为结果的COLOR.就是将第一条和第二条记录的(黑色)作为COLOR(灰色)取消,取SIZE加起来.ID    Color   SizeF   Size1   Size2
    40    (黑色)   20      20      40
    40    (蓝色)   20      20      30
    40    (浅橙)   20      25      26
    40    (深绿)   18      17      16请教SQL语句...
      

  2.   

    那就给它加个字段呢.ID   ID1   Color   Zsb   SizeF   Size1   Size2
    40    1   (黑色)   A     10      10      20
    40    2   (灰色)   A     10      10      20
    40    3   (蓝色)   B     20      20      30
    40    4   (浅橙)   C     20      25      26
    40    5   (深绿)   D     18      17      16
      

  3.   

    在access中是有first()函數,SQL Server中沒有,不過不確定返回的是不是第一條記錄
      

  4.   

    OrderID ID    Color   Zsb   SizeF   Size1   Size2
    1       40    (黑色)   A     10      10      20
    2       40    (灰色)   A     10      10      20
    3       40    (蓝色)   B     20      20      30
    4       40    (浅橙)   C     20      25      26
    5       40    (深绿)   D     18      17      16select B.id,B.color,B.Zsb,A.SizeF,A.Size1,A.Size2 from (select min(orderid) as TopLine,sum(SizeF) as SizeF,sum(Size1) as Size1,sum(Size2) as Size2  from tbl group by id,Zsb) as A left join tbl as B on A.orderid=B.orderid
      

  5.   

    谢谢  crycoming(瞎编)你的方法可以达到我想的.不过你这样会多出一些SIZE为空的记录.再用一次SELECT就完全可以了.