I have 4 table that I want to join:
tbl_transaksi_header
--------------------
kode_transaksi
kode_user
nama_penerima
email_penerima
alamat_penerima
bank
telpon
tbl_konfirmasi
--------------------
id
kode
member
namarekening
tbl_user
-------------------
kode_user
username_user
tbl_transaksi_detail
---------------------
kode_transaksi
harga
jumlah
status
I want to show all data including NULL in nama_rek.
I tried this:
SELECT t.status, t.kode_transaksi kode, u.username_user nama_user, t.nama_penerima penerima, t.telpon, t.bank, sum(d.harga*d.jumlah) total,k.namarekening nama_rek
FROM tbl_transaksi_header t
JOIN tbl_user u
ON t.kode_user=u.kode_user
JOIN tbl_transaksi_detail d
ON t.kode_transaksi=d.kode_transaksi
LEFT OUTER JOIN tbl_konfirmasi k
ON t.kode_transaksi=k.kode
Work fine but not showing null result, only showing 1 row result. I want something like this:
status kode nama_user penerima telpn bank total nama_rek
xxx xxx xxx xxx xxx xxx xxx NULL
xxx xxx xxx xxx xxx xxx xxx NULL
xxx xxx xxx xxx xxx xxx xxx yyy
xxx xxx xxx xxx xxx xxx xxx NULL
Sample data:
kode_transaksi kode_user nama_penerima email_penerima alamat_penerima bank telpon
kd1 1 john some@email.com florida Bank A 088833221
kd2 2 elsa some@email.com uk Bank B 088833222
kd3 1 roy some@email.com manhattan Bank C 088833223
id kode member namarekening
1 kd1 paul paul
kode_user username_user
1 paul
2 elena
kode_transaksi harga jumlah status
kd1 10 2 process
kd1 5 2 process
kd1 5 1 process
kd2 4 3 pending
kd2 3 4 pending
kd3 2 3 pending
I want this output:
status kode nama_user penerima telpon bank total nama_rek
process kd1 paul john 088833221 Bank A 35 paul
pending kd2 elena elsa 088833222 Bank B 24 NULL
pending kd2 elena roy 088833223 Bank C 6 NULL
Your join is fine; the problem is that you have a SUM()
in your select with no GROUP BY
. Try this:
SELECT t.kode_transaksi kode, u.username_user nama_user, t.nama_penerima penerima, t.telpon, t.bank, sum(d.harga*d.jumlah) total,k.namarekening nama_rek
FROM tbl_transaksi_header t
JOIN tbl_user u
ON t.kode_user=u.kode_user
JOIN tbl_transaksi_detail d
ON t.kode_transaksi=d.kode_transaksi
LEFT OUTER JOIN tbl_konfirmasi k
ON t.kode_transaksi=k.kode
GROUP BY
t.kode_transaksi, u.username_user, t.nama_penerima , t.telpon, t.bank,k.namarekening
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.