我想使用 JOIN 在两个表之间生成报告。下面显示了表格的详细信息。
表 1:kod_jawatan
jawatan_id | jawatan_kod | jawatan_nama |
---|---|---|
1 | A0001 | 会计 |
2 | C0002 | 工程师 |
3 | H0002 | 老师 |
表 2:tpermohonan
mohon_id | pemohon_id | mohon_tarikh | mohon_tarikhluput |
---|---|---|---|
1 | 2 | 2019-03-21 | 2020-03-21 |
5 | 6 | 2018-10-16 | 2019-10-16 |
8 | 13 | 2018-10-16 | 2019-10-16 |
这是我试过但没有用的代码。
我不能使用任何连接,因为我在表 tpermohonan 中没有将 jawatan_id 作为外键。
这是我想要的输出:
比尔 | 爪哇语 | 一月 | 二月 | 三月 | 四月 | 五月 | 六月 | 七月 | 八月 | 九月 | 十月 | 十一月 | 十二月 | 总计 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 会计 | 100 | 400 | 350 | 220 | 390 | 440 | 500 | 330 | 560 | 234 | 98 | 450 | |
2 | 老师 | 200 | 330 | 560 | 456 | 100 | 230 | 210 | 120 | 200 | 320 | 89 | 100 |
我该怎么办?如果我只是在表 tpermohonan 中添加 jawatan_id 作为外键可以吗?非常感谢您的帮助。
以下是我尝试过的代码。
SELECT jawatan_nama, MONTHNAME(mohon_tarikh) AS mname, count(jawatan_id) AS total
FROM kod_jawatan
CROSS JOIN tpermohonan
WHERE year(mohon_tarikh) = '2019'
GROUP BY MONTH(mohon_tarikh)
UNION ALL
SELECT 'Jumlah', count(jawatan_id) AS total
FROM tpermohonan
CROSS JOIN kod_jawatan
WHERE year(mohon_tarikh) = '2019'