LEFT JOIN COUNT Null Result 9 Desember 2015 Seharian aku merasa seperti programmer goblok. Ngutak-atik query tapi nggak ketemu hasil yang diharapkan. Yah, mungkin ini balasan dari orang yang sombong merasa sudah mahir ng-query pakai Common Table Expression (CTE).Jadi, gini lho cerita singkat dari query yang bikin gemas ini.Kita punya dua tabel yang sederhana seperti di bawah ini:CREATE TABLE tabel_spesies( xx_idspesies character varying(4) NOT NULL, xx_namaspesies character varying(8) NOT NULL);CREATE TABLE tabel_warna( hh_idspesies character varying(4) NOT NULL, hh_namawarna character varying(8) NOT NULL); Kalau diisi data kira-kira hasilnya begini:xx_idspesiesxx_namaspesiesA01AnggrekA02Mawarhh_idspesieshh_namawarnaA01PUTIHA02MERAHA02MERAHA01PUTIHA02PUTIH Aku inginnya ng-query LEFT JOIN dua tabel di atas dengan hasil seperti ini:xx_namaspesiesjumlah_merahAnggrek0Mawar2 Sederhana toh? Awalnya ini query-ku:SELECT tb1.xx_namaspesies, COUNT(tb2.hh_idspesies) AS jumlah_merahFROM tabel_spesies tb1 LEFT JOIN tabel_warna tb2ON tb1.xx_idspesies = tb2.hh_idspesiesWHERE tb2.hh_namawarna = 'MERAH' Tapi yang muncul malah seperti ini:xx_namaspesiesjumlah_merahMawar2Lha, mana spesies Anggreknya? Setelah mumet lama, ternyata penyelesaiannya sederhana! Hanya mengganti WHERE jadi AND seperti query di bawah ini:SELECT tb1.xx_namaspesies, COUNT(tb2.hh_idspesies) AS jumlah_merahFROM tabel_spesies tb1 LEFT JOIN tabel_warna tb2ON tb1.xx_idspesies = tb2.hh_idspesiesAND tb2.hh_namawarna = 'MERAH' Kayak orang goblok toh? Hahaha. :DTabel dan query di atas sekedar contoh saja. Yang aslinya lebih njelimet karena melibatkan banyak tabel, view, dan function. Maklum, buat kerjaan, hahaha. :D Sebenernya sih bisa juga diaplikasikan dalam dunia blogging kalau ingin melihat laporan seperti di bawah ini.id artikeljudul artikeljumlah seluruh komentarkomentar sudah dibalaskomentar belum dibalas1Judul Artikel Pertama242042Judul Artikel Kedua616013Judul Artikel Ketiga10010