Daftar dan Belajar Sekarang!

Cara menggunakan left join untuk select count lewat referensi table

foto DennyKurniawan
60 Kontribusi 21 Coto
2 bulan yang lalu
Saya masih bingung menggunakan left join atau mungkin ada fungsi lain untuk masalah saya, ibaratkan saya punya 3 tabel, tabel pertama ini saya gunakan untuk menampung nama, tabel kedua saya gunakan untuk menampung hobby dari nama orang tersebut, dan tabel ketiga saya gunakan untuk menyimpan referensi tabel tersebut. Ijinkan saya untuk membuat visualiasinya:
Tabel person :               Tabel hobby :            Tabel referensi :
-----------------      ------------------    -------------------------------------
|  id  |  name  |      |  id  |  hobby  |    |  id  |  ref_person  |  ref_hobby  |
-----------------      ------------------    -------------------------------------
|   1  |  Rose  |      |   1  |  Makan  |    |   1  |    1         |    1        |
|   2  |  Lisa  |      |   2  |  Renang |    |   2  |    1         |    3        |
|   3  |  Jisoo |      |   3  |  Nyanyi |    |   3  |    1         |    4        |
|   4  |  Jennie|      |   4  |  Youtube|    |   4  |    3         |    5        |
-----------------      |   5  |  Masak  |    -------------------------------------
                       ------------------
saya ingin menghitung jumlah hobby dari orang-orang tersebut.
Misalnya saya ingin menyeleksi Rose :          Misalnya saya ingin menyeleksi Jisoo :

---------------------------                    ---------------------------
|  id  |  hobby  |  count |                    |  id  |  hobby  |  count |
---------------------------                    ---------------------------
|  1   |  Makan  |  1     |                    |  1   |  Makan  |  0     |
|  2   |  Renang |  0     |                    |  2   |  Renang |  0     |
|  3   |  Nyanyi |  1     |                    |  3   |  Nyanyi |  0     |
|  4   |  Youtube|  1     |                    |  4   |  Youtube|  0     |
|  5   |  Masak  |  0     |                    |  5   |  Masak  |  1     |
---------------------------                    ---------------------------
Dan seterusnya, caranya gimana ya? Ini query yang coba saya buat, tapi hanya bisa menampilkan data data yang countnya lebih dari 0, kalau 0 tidak tampil:
SELECT
	hobby.id,
	hobby.name,
	count( referensi.id ) AS count 
FROM
	referensi
	LEFT OUTER JOIN hobby ON hobby.id = referensi.ref_hobby
	JOIN person ON referensi.ref_person = person.id 
	WHERE person.id = 1
GROUP BY
	hobby.id
Terimakasih.

Tag: mysql database

✔ Forum ini sudah terjawab


Jawaban
foto DennyKurniawan
60 Kontribusi 21 Coto
2 bulan yang lalu
Jawabannya sudah ketemu, saya sudah bertanya di forum stackoverflow. Bagi yang memiliki masalah yang sama silahkan cek pertanyaan saya di Link ini dan jangan lupa beri upvote untuk setiap jawaban mereka ya. Karena jawaban mereka benar semua. :)
answered icon
foto DennyKurniawan
60 Kontribusi 21 Coto
2 bulan yang lalu
Jawabannya sudah ketemu, saya sudah bertanya di forum stackoverflow. Bagi yang memiliki masalah yang sama silahkan cek pertanyaan saya di Link ini dan jangan lupa beri upvote untuk setiap jawaban mereka ya. Karena jawaban mereka benar semua. :)


Login untuk diksusi di forum sekolah koding