Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Administrasi E-commerce: Pesanan, Retur, dan Rekonsiliasi

Pelajaran 6 dari 13

Pemenuhan pesanan: pengiriman penuh dan parsial

Dari baris ke pesanan: status pemenuhan

Setelah pelajaran ini kamu bisa menurunkan status pemenuhan pesanan dari sisa kirim baris-barisnya, termasuk baris yang belum punya pengiriman sama sekali.

±13 menitDiperiksa 7 Okt 2026

Materi

Pembeli bertanya tentang pesanannya, bukan tentang baris barangnya. Status pemenuhan di tingkat pesanan diturunkan dari baris: Lengkap bila semua baris sudah terkirim penuh, Belum bila belum satu unit pun terkirim, dan Sebagian bila ada yang sudah dan ada yang belum.

Di SQL, catatan pengiriman dijumlah dulu per pesanan dan per SKU, lalu digabung ke tabel baris dengan LEFT JOIN. LEFT JOIN mempertahankan baris pesanan yang belum punya pengiriman sama sekali; nilai terkirimnya NULL, dan coalesce(…, 0) mengubahnya menjadi 0 supaya bisa dihitung. Data pengiriman di latihan diberikan sebagai CTE (klausa WITH), seolah baru diekspor dari ekspedisi.

WITH total AS (
  SELECT pesanan_id, produk_id, SUM(jumlah) AS terkirim
  FROM kirim GROUP BY pesanan_id, produk_id
)
SELECT d.pesanan_id, d.produk_id, coalesce(t.terkirim, 0) AS terkirim
FROM detail_pesanan d
LEFT JOIN total t ON t.pesanan_id = d.pesanan_id AND t.produk_id = d.produk_id

Agregasi sebelum JOIN itu penting: satu baris pesanan bisa punya dua resi, dan menggabungkan resi mentah langsung ke tabel lain menggandakan baris di sisi yang lain.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Kueri laporan pemenuhan menggabungkan detail_pesanan dengan data kirim memakai JOIN biasa. Pesanan 19 tidak muncul di hasil. Apa artinya?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke