目前有一张异动表,该表存放着异动号、姓名、异动后的部门、异动时间怎么通过SQL视图生成一张包含 姓名、部门 异动标志(Y/N Y代表异动后的部门,N代表异动前的部门)、异动时间的一张数据

解决方案 »

  1.   


    select 异动号,姓名,
      max(case 异动标志 when 'Y' then 部门 else '' end) 异动后的部门,
      max(case 异动标志 when 'Y' then 异动时间 else null end) 异动后的时间,
      max(case 异动标志 when 'N' then 部门 else '' end) 异动前的部门,
      max(case 异动标志 when 'N' then 异动时间 else null end) 异动前的时间
    from tb
    group by 异动号,姓名
      

  2.   

    我希望得到的是    小王  管理部  Y   2008-05-02
        小王  管理部  N   2008-07-04
        小王  信息部  Y    2008-07-04 
        小王  信息部  N    2009-01-01 
        小王  人事部  Y    2009-01-01 
        小李  人事部  Y     2008-07-07
        小李  人事部  N    2009-03-02
        小李  技术部  Y   2009-03-02