dog1888 发表于 2018-10-19 08:39:20

SQL2005/2008中实现行转列的2种方法

SELECT year,  SUM(case when month = 'Jan' then amount else 0 end) AS 'Jan',
  SUM(case when month = 'Feb' then amount else 0 end) AS 'Feb',
  SUM(case when month = 'Mar' then amount else 0 end) AS 'Mar',
  SUM(case when month = 'Apr' then amount else 0 end) AS 'Apr',
  SUM(case when month = 'May' then amount else 0 end) AS 'May',
  SUM(case when month = 'Jun' then amount else 0 end) AS 'Jun',
  SUM(case when month = 'Jul' then amount else 0 end) AS 'Jul',
  SUM(case when month = 'Aug' then amount else 0 end) AS 'Aug',
  SUM(case when month = 'Sep' then amount else 0 end) AS 'Sep',
  SUM(case when month = 'Oct' then amount else 0 end) AS 'Oct',
  SUM(case when month = 'Nov' then amount else 0 end) AS 'Nov',
  SUM(case when month = 'Dec' then amount else 0 end) AS 'Dec'
  FROM sales.salesByMonth
  GROUP by year

页: [1]
查看完整版本: SQL2005/2008中实现行转列的2种方法