--动态
DECLARE @SQL VARCHAR(8000)
SET @SQL='SELECT Pname'
SELECT @SQL=@SQL+'
,ISNULL(SUM(CASE WHEN Pmonth='+CAST(Pmonth AS VARCHAR(10))+' THEN [Prate*100] END),0)['+CAST(Pmonth AS VARCHAR(10))+'月]'
FROM TB GROUP BY Pmonth ORDER BY Pmonth
SET @SQL=@SQL+'FROM TB GROUP BY Pname'
PRINT @SQL
EXEC(@SQL)--静态方式
SELECT Pname
,ISNULL(SUM(CASE WHEN Pmonth=1 THEN [Prate*100] END),0)[1月]
,ISNULL(SUM(CASE WHEN Pmonth=2 THEN [Prate*100] END),0)[2月]
,ISNULL(SUM(CASE WHEN Pmonth=3 THEN [Prate*100] END),0)[3月]
FROM TB
GROUP BY PnameTB换成你的表名
DECLARE @SQL VARCHAR(8000)
SET @SQL='SELECT Pname'
SELECT @SQL=@SQL+'
,ISNULL(SUM(CASE WHEN Pmonth='+CAST(Pmonth AS VARCHAR(10))+' THEN [Prate*100] END),0)['+CAST(Pmonth AS VARCHAR(10))+'月]'
FROM TB GROUP BY Pmonth ORDER BY Pmonth
SET @SQL=@SQL+'FROM TB GROUP BY Pname'
PRINT @SQL
EXEC(@SQL)--静态方式
SELECT Pname
,ISNULL(SUM(CASE WHEN Pmonth=1 THEN [Prate*100] END),0)[1月]
,ISNULL(SUM(CASE WHEN Pmonth=2 THEN [Prate*100] END),0)[2月]
,ISNULL(SUM(CASE WHEN Pmonth=3 THEN [Prate*100] END),0)[3月]
FROM TB
GROUP BY PnameTB换成你的表名
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货