DECLARE @SQL VARCHAR(8000)
DECLARE @M INT,@I VARCHAR(10)
SET @SQL='SELECT a1,a2'
SELECT @M=MAX(a3)FROM TB
SET @I=1
WHILE @I<=@M
SELECT @SQL=@SQL+',MAX(CASE WHEN a3='''+@I+''' THEN a4 END)['+@I+']',@I=@I+1
SET @SQL=@SQL+' FROM TB GROUP BY a1,a2'
EXEC(@SQL)
DECLARE @M INT,@I VARCHAR(10)
SET @SQL='SELECT a1,a2'
SELECT @M=MAX(a3)FROM TB
SET @I=1
WHILE @I<=@M
SELECT @SQL=@SQL+',MAX(CASE WHEN a3='''+@I+''' THEN a4 END)['+@I+']',@I=@I+1
SET @SQL=@SQL+' FROM TB GROUP BY a1,a2'
EXEC(@SQL)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货