2014-01-23 122 views
0

我只是不知道创建视图的正确语法。将行拆分成列MySQL

雇员

|nik | name | 

112   john 

113   smith 

艾比森

|kode_asben| ket_absen| 

    hdr  Hadir 

    skt   sakit 

detail_absen

|NIK |Kode_absen| 

112  hdr 

113  skt 

112  hdr 

113  hdr 

,这里的景色表应该是

|nik | Hadir | Sakit | 

112  2   0 

113  1   1 

+0

请你添加你需要... –

+0

已经解决了感谢 – kariki

回答

0

可以使用条件聚集

SELECT nik, 
     SUM(Kode_absen = 'hdr') Hadir, 
     SUM(Kode_absen = 'skt') Sakit 
    FROM detail_absen 
GROUP BY nik 

SELECT e.nik, 
     IFNULL(SUM(d.kode_absen = 'hdr'), 0) Hadir, 
     IFNULL(SUM(d.kode_absen = 'skt'), 0) Sakit 
    FROM employee e LEFT JOIN detail_absen d 
    ON e.nik = d.nik 
GROUP BY e.nik; 

根据您的需要

输出示例:

 
| NIK | HADIR | SAKIT | 
|-----|-------|-------| 
| 112 |  2 |  0 | 
| 113 |  1 |  1 | 

这里是SQLFiddle演示

+0

哇这是真的很短的语法比语法我创建的感谢 – kariki