Skip to content

Query Memisah Data Pantau

Agung Sugiarto edited this page Jun 18, 2021 · 1 revision

Jalankan di database pantau.opensid, kemudian export ke array php

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