【发布时间】:2016-08-09 10:48:00
【问题描述】:
我对编程很陌生,现在我有问题要快速解决。只尝试了 1 周,并给出了一些可以让我满意的结果。任何人都可以帮助我,这是我想展示的表格和结果: enter image description here
这是结果 the problem ss
我正在尝试这个代码一个多星期,但仍然没有:
enter code here SELECT idkt.id,
idkt.nama,
idkt.satuan,
trgt.nilai ,
tbl.*,
ROUND((tbl.Triwulan_1 / trgt.nilai * 100), 2) Persen_1,
ROUND((tbl.Triwulan_2 / trgt.nilai * 100), 2) Persen_2,
ROUND((tbl.Triwulan_3 / trgt.nilai * 100), 2) Persen_3,
ROUND((tbl.Triwulan_4 / trgt.nilai * 100), 2) Persen_4
FROM indikator idkt
left JOIN (
SELECT id_indikator,
YEAR(tgl) tahun,
SUM(CASE
WHEN MONTH(tgl) BETWEEN 1 AND 3 THEN
1
END) AS Triwulan_1,
SUM(CASE
WHEN MONTH(tgl) BETWEEN 4 AND 6 THEN
1
END) AS Triwulan_2,
SUM(CASE
WHEN MONTH(tgl) BETWEEN 7 AND 9 THEN
1
END) AS Triwulan_3,
SUM(CASE
WHEN MONTH(tgl) BETWEEN 10 AND 12 THEN
1
END) AS Triwulan_4
FROM msttrans
WHERE YEAR(tgl) = ".$tahun."
GROUP BY id_indikator, YEAR(tgl)) tbl
ON (idkt.id = tbl.id_indikator)
left JOIN target trgt
ON (trgt.id_indikator = idkt.id
AND YEAR(trgt.tahun) = tbl.tahun)
left JOIN (select target.nilai as fnilai from target where id_indikator is not NULL) trgt on trgt.id_indikator = idkt.id
ORDER BY idkt.id ASC
【问题讨论】: