sql 中 CASE 的一种用法(纵转横)

来源:互联网 发布:edusoho 源码 编辑:程序博客网 时间:2024/05/15 22:34
SELECT TOP 100 PERCENT SoghDate, CONVERT(varchar(6), soghdate, 112)
      AS SoghMonth, SUM(ckcps) AS ckcps, SUM(kkcps) AS kkcps, SUM(ckcps + kkcps)
      AS sumcps
FROM (SELECT soghdate, SoghFrom,
              ckcps = (CASE WHEN soghfrom = '010101' THEN soghTrains ELSE 0 END),
              kkcps = (CASE WHEN soghfrom = '010201' THEN soghTrains ELSE 0 END)
        FROM dbo.gdSogh) tmp
GROUP BY SoghDate
ORDER BY soghDate