急,怎样用SQL对表进行分组查询!(200)

  • 主题发起人 主题发起人 ycmzp
  • 开始时间 开始时间
Y

ycmzp

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个表,设计编号   成果J1 1J1 2J1 3J1 4J2 4J2 3J2 2J2 1***J10 ***我想查询成一个这样的形式:J1 J2 *** J101 4 2 33 24 1想了很多种方法,但是没有实现.就是不知道这个SQL怎么写.请教各位.
 
最笨的办法,做个临时表吧,用J*作为字段,然后循环*次,每次select 成果 from 表 where 设计编号=J*然后把查询结果放到临时表的J*字段里面去
 
这是行列转置问题,查查转置,应该有很多贴子的,你看看mssql帮助里面好像也有使用Case的例子
 
交叉表吧。给个例子:declare @sqlText nvarchar(2000)select @sqlText='select FItemID,' select @sqlText=@sqltext+'(CASE FName WHEN '''+FName+''' THEN FAuxQty ELSE 0 END) AS ''' +FName+ ''',' from (select distinct FName from test) as aselect @sqlText=left(@sqlText,Len(@sqlText)-1)+',FStockID,FDeptID from test' exec(@sqlText)
 
接受答案了.
 
后退
顶部