Mysql 我想使用3个表从SQL生成月度报告

Mysql 我想使用3个表从SQL生成月度报告,mysql,sql,backend,Mysql,Sql,Backend,我想从这样的三个表中做一个报告 SELECT transaksi.id_transaksi,transaksi.waktu_pengiriman, pengirim.nama_pengirim,penerima.nama_penerima, penerima.alamat_penerima,transaksi.harga,transaksi.status_pengiriman FROM transaksi,pengirim,penerima WHERE transaksi.waktu_peng

我想从这样的三个表中做一个报告

SELECT transaksi.id_transaksi,transaksi.waktu_pengiriman,
pengirim.nama_pengirim,penerima.nama_penerima,
penerima.alamat_penerima,transaksi.harga,transaksi.status_pengiriman
FROM transaksi,pengirim,penerima 
WHERE transaksi.waktu_pengiriman BETWEEN '2020-11-01' AND '2020-11-30'
我在这个论坛上看到了这个答案,它告诉我可以像那样直接选择3个表,但是输出意外地重复了这么多。这就是它的样子

您正在交叉连接所有内容--您需要左连接。。。我猜连接是什么,但它看起来是这样的:

SELECT transaksi.id_transaksi,
       transaksi.waktu_pengiriman,
       
       pengirim.nama_pengirim,
       
       penerima.nama_penerima,
       penerima.alamat_penerima,

       transaksi.harga,
       transaksi.status_pengiriman
FROM transaksi
LEFT JOIN pengirim ON transaksi.id_pengirim = pengirim.id
LEFT JOIN penerima ON transaksi.id_penerima = penerima.id
WHERE transaksi.waktu_pengiriman BETWEEN '2020-11-01' AND '2020-11-30'

不要使用逗号连接,一定要使用显式连接,一定要添加有代表性的示例数据和预期的文本输出。非常感谢。它工作起来很神奇。这是因为它很神奇