使用pivot sql join 3表

时间:2017-04-09 06:33:34

标签: sql join pivot pivot-table

主 我有3张桌子:

  1. tb_siswa
  2. tb_spp
  3. tb_bulan
  4. 以上三个表的内容如下:

    1. tb_siswa
    2. enter image description here

      1. tb_spp
      2. enter image description here

        1. tb_bulan
        2. enter image description here

          我想使用sql pivot

          显示我的sql,如下面的视图

          enter image description here

          我希望有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

您可以在相关键上加入表,然后使用条件聚合来转动结果:

select s.nis,
    s.nm_lengkap,
    sum(case when b.nm_bulan = 'Januari' then p.nominal else 0 end) as Januari,
    sum(case when b.nm_bulan = 'Februari' then p.nominal else 0 end) as Februari,
    sum(case when b.nm_bulan = 'Maret' then p.nominal else 0 end) as Maret,
    ...
from tb_siswa s
join tb_spp p on s.id = p.id_siswa
join tb_bulan b on p.id_bulan = b.id
group by s.nis,
    s.nm_lengkap;