工种
id job
----------------------
1 job1
2 job2
3 job3
4 job4
5 job5
6 job6
行业
id industry
----------------------
1 ind1
2 ind2
3 ind3
4 ind4
5 ind5
6 ind6
人数统计表personjob
-----------------------------------
personid job industry
p1 1    2
p2 2    1
p3 5    5 
p4 1    3
p5 3           4
p6 5    5 求
行业工种人数统计表   job1 job2 job3 job4 job5 job6
-----------------------------------------------------------
ind1    0       1 0 0 0 0ind2      1     0 0 0 0 0 ind3   1   0 0 0 0 0ind4       0        0       1    0 0 0ind5   0   0 0 0 2 0ind6   0   0 0 0 0 0要求行业工种必须全部显示,
不知怎样把字典表中的行变动列,请教!

解决方案 »

  1.   

    select 行业.industry,
            temp.job1,
            temp.job2,
            temp.job3,
            temp.job4,
            temp.job5,
            temp.job6
    from(id,select decode(job,'job1',id,0) job1
          ,decode(job,'job1',id,0) job2
          ,decode(job,'job1',id,0) job3
          ,decode(job,'job1',id,0) job4
          ,decode(job,'job1',id,0) job5
          ,decode(job,'job1',id,0) job6
       from 工种
     group by id) temp,行业,人数统计表
     and 表连接条件
      

  2.   

    我想不能在SQL中hardcode  job 的值,不知有没有办法