求~~~~~~Group by 语句(挺有意思的)
     ID      BarCode   BoxNo(大箱条码)   ProduceNo   GoodsID(货号)Meter      UnitID(单位ID) 
 1         200001      200001                              100000            001                                    34               1 
 2         200002      200001                              100000            001                                    34               1 
 3         200003      200001                              100001            002                                    6                  1 
 4         200004      200002                              100001            001                                    43               1     
 上面这样一个表(一条记录就是一个条码,也就是一个货物),    
 表结构为:    
 ID:关键字段       
 BarCode:唯一索引(小盒子条码)       
 BoxNo:大箱条码(用来装小盒子的) 
 ProduceNo:生产制单号 
 GoodsID:货物ID 
 Meter:每一件货有多少米     
 现在我显示的时候: 
 select   count(*)   as   [件数],      GoodsID   as   [货号],   ProduceNo   as   [生产制单号], 
 sum(Meter)   as   [米数],      Max(TblUnit.UnitName)   as   [单位] 
 from   Table1 
 left   join   TblUnit      on   TblUnit.UnitID=Table1.UnitID 
 group   by   GoodsID,   ProduceNo,   ColorID,      UnitID,   BoxNo   
 现在是: 
 件数         货号         生产制单号         米数      颜色      单位   
 多加一列,叫包装情况      (实际上BarCode就是一个小箱,包装的时候是N个小箱[就是N个条码BarCode放在大箱BoxNo里])   
 目的是这样的: 
 盒数         货号         生产制单号         米数      颜色      单位      包装情况 
 3                  xxx            xxx                              xxx         xxx         xxx         2*32+44=108   
 包装情况的意思就是根据group   by   GoodsID,   ProduceNo,   ColorID,      UnitID,   BoxNo 
 这个分组的来计算      2是这一条记录有2盒为32M   44是另一盒为44米   加起来为1000米 
 全写出来就是:2盒*32米+1盒*44米=108米     
 最后这个包装情况要怎么写?
------解决方案--------------------可以写一个用户定义函数来生成。
------解决方案-----------------------try   
 create function f1(@id varchar(10)) 
 as 
 begin 
     declare @cnt int 
 	select @cnt = 0 
 	select @cnt=@cnt+count(Meter)*Meter from TblUnit where GoodsID = @id group by Meter 
 	return @cnt 
 end   
 select count(*) as [件数],   
 GoodsID as [货号],  
 ProduceNo as [生产制单号], 
 sum(Meter) as [米数],   
 Max(TblUnit.UnitName) as [单位], 
 [包装情况]=dbo.f1(GoodsID) 
 from Table1 
 left join TblUnit  on TblUnit.UnitID=Table1.UnitID 
 group by GoodsID, ProduceNo, ColorID,  UnitID, BoxNo 
------解决方案--------------------create