从table1,table2中取出如table3所列格式数据
table1

月份mon 部门dep 业绩yj
-------------------------------
一月份      01      10
一月份      02      10
一月份      03      5
二月份      02      8
二月份      04      9
三月份      03      8

table2

deptID      部门名称dname
--------------------------------
      01      国内业务一部
      02      国内业务二部
      03      国内业务三部
      04      国际业务部

table3 (result)

deptID    一月份      二月份      三月份
--------------------------------------
      01      10        0           0

      02      10        8           0

      03      5          0           8
      04      0          9           0
------------------------------------------

SQL语句如下:

SELECT    a.deptName,

SUM(CASE WHEN b.mon = 1 THEN b.yj ELSE 0 END) AS 一月份,

SUM(CASE WHEN b.mon = 2 THEN b.yj ELSE 0 END) AS 二月份, 
SUM(CASE WHEN b.mon = 3 THEN b.yj ELSE 0 END) AS 三月份
FROM  dbo.table2 AS a LEFT OUTER JOIN
          dbo.table1 AS b ON a.deptID = b.deptID
GROUP BY a.deptName

posted on 2010-07-24 21:44  aparche  阅读(576)  评论(0编辑  收藏  举报