0% found this document useful (0 votes)
9 views2 pages

Celestialrandy SQL2

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views2 pages

Celestialrandy SQL2

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

—Soal 3

WITH
user never non cash AS (
SELECT
id_pelanggan.
count(distinct case when bayar_cash = 1 then id_order end) AS
total_order_cash.
count(distinct case when bayar_cash = 0 then id_order end) AS
total_order_non_cash.
count(distinct id_order) AS total_order
FROM rakamin_order
GROUP BY1
HAVING count(distinct case when bayar_cash = 0 then id_order end) = 0
)
SELECT unnc.id_pelanggan, rc.nama, r.email, rc.telepon, unnc.total_order
FROM user_never_non_cash AS unnc
LEFT JOIN rakamin_customer rc ON r.id_pelanggan = unnc.id_pelanggan
LEFT JOIN rakamin_customer_address rca ON rca.id_pelanggan = unnc.id _pelanggan
WHERE rc.pengguna_aktif= 1 AND rc,penipu = 0 AND rc.konfirmasiLtelepon = 1

—Soal 4
SELECT a.nama, a.email, a.telepon, a.metode_bayar, a.jumlah_order, rca.alamat
FROM
(
SELECT
rc.id_pelanggan, rc.nama, rc.email, rc.telepon, ro.metode_bayar
count(ro.id_pelanggan) as jumlah_order
FROM rakamin_customer rc
LEFT JOIN rakamin order ro on rc.id_pelanggan = ro.id_pelanggan
WHERE rc.penipu = 0
AND rc.pengguna_aktif = 1
AND rc.konfirmasi_telepon = 1
AND ro.bayar_cash = 1
CROUP BY 1,2,3,4,5
) a
LEFT JOIN rakamin_customer_adress rca on a.id_pelanggan = rca.id_pelanggan

—Soal 5
WITH customer membership AS (
SELECT
kota,
CASE
WHEN poin_belanja BETWEEN 10 AND 100 THEN ‘Bronze’
WHEN poin_belanja BETWEEN 100 AND 300 THEN ‘Silver’
WHEN poin_belanja > 300 THEN ‘Gold’
ELSE 'Non Member’
END AS membership
FROM rakamin_customer_address AS rca
RIGHT JOIN (
SELECT
id_pelanggan,
SUM(CASE WHEN bayar_cash = 0 THEN kuantitas * harga END) AS
totaL_belanja_noncash,
SUM(CASE WHEN bayar_cash = 0 THEN kuantitas * harga END) / 1000 AS poin
belanja
FROM rakamin_order
GROUP BY 1
) AS ro ON rca.id_pelanggan=ro.id_pelanggan
)
SELECT
kota.
COUNT(CASE WHEN membership = 'Non Member' THEN membership END) AS
non_member,
COUNT(CASE WHEN membership = 'Bronze THEN membership END) AS
bronze_member,
COUNT(CASE WHEN membership = 'Silver' THEN membership END) AS
silver_member,
COUNT(CASE WHEN membership = 'Gold' THEN membership END) AS gold_member
FROM customer _membership
GROUP BY 1:

You might also like