簡體   English   中英

將行拆分成列MySQL

[英]Split rows into columns 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

您可以使用條件聚合

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演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM