-
Notifications
You must be signed in to change notification settings - Fork 0
Query Memisah Data Pantau
Agung Sugiarto edited this page Jun 18, 2021
·
1 revision
SELECT
MAX(pelanggan.nama) AS kontak,
CONCAT('https://', SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(pelanggan.domain, '/', 3), '://', -1), '/', 1), '?', 1),'www.',-1)) AS clean_domain,
MAX(pelanggan.tgl_mulai) AS tgl_mulai,
MAX(pelanggan.tgl_akhir) AS tgl_akhir,
CASE WHEN MAX(pelanggan.tgl_akhir) <= CURDATE() THEN 3 ELSE 1 END AS status_langganan,
MAX(pelanggan.pelaksana) AS pelaksana_id,
MAX(k.kode_desa) AS desa_id,
CASE WHEN MAX(k.kode_desa) IS NOT NULL
THEN CONCAT(
JSON_OBJECT(
'kode_prov', MAX(k.kode_prov),
'nama_prov', MAX(k.nama_prov),
'kode_kab', MAX(k.kode_kab),
'nama_kab', MAX(k.nama_kab),
'kode_kec', MAX(k.kode_kec),
'nama_kec', MAX(k.nama_kec),
'kode_desa', MAX(k.kode_desa),
'nama_desa', MAX(k.nama_desa)
)
)
END AS desa,
LOWER(MAX(desa.email_desa)) AS email,
GROUP_CONCAT(DISTINCT jenis_langganan) AS jenis_layanan,
CASE GROUP_CONCAT(DISTINCT jenis_langganan)
WHEN '1' THEN 'hosting + update'
WHEN '2' THEN 'hosting saja'
WHEN '3' THEN 'premium'
WHEN '4' THEN 'update saja'
WHEN '5' THEN 'hosting + domain'
WHEN '6' THEN 'hosting + domain + update'
WHEN '1,3' THEN 'hosting + update + premium'
WHEN '1,6' THEN 'hosting + domain + update'
WHEN '2,3' THEN 'hosting + premium'
WHEN '3,5' THEN 'hosting + domain + premium'
WHEN '3,6' THEN 'hosting + domain + update + premium'
END AS deskripsi
FROM pelanggan
LEFT JOIN
desa ON pelanggan.id_desa = desa.id
LEFT JOIN
kode_wilayah k ON
UPPER(desa.nama_desa) = k.nama_desa AND
UPPER(desa.nama_kecamatan) = k.nama_kec AND
UPPER(desa.nama_kabupaten) = k.nama_kab AND
UPPER(desa.nama_provinsi) = k.nama_prov
GROUP BY
clean_domain
ORDER BY jenis_layanan