尽管值为NULL,但仍显示MySQL行
我有两个表——尽管值为NULL,但仍显示MySQL行,mysql,Mysql,我有两个表——tmst_-paket和tmst_-paketdata——以及这样的查询: SELECT p.id_paket, p.id_user, p.nama_paket, p.id_instansi, p.id_relasi, p.status_progress, p.status_paket, p.from_status, p.to_status, COALESCE(s
tmst_-paket
和tmst_-paketdata
——以及这样的查询:
SELECT
p.id_paket,
p.id_user,
p.nama_paket,
p.id_instansi,
p.id_relasi,
p.status_progress,
p.status_paket,
p.from_status,
p.to_status,
COALESCE(sum(pd.kuantitas))total_buku,
COALESCE(sum(pd.total_hargaitem))total_hargabuku,
DATE_FORMAT(p.tgl_buat,'%d-%m-%Y') created_date_formatted,
DATE_FORMAT(p.tgl_modif,'%d-%m-%Y') modified_date_formatted
FROM
tmst_paket p
JOIN
tmst_paketdata pd
ON
p.id_paket = pd.id_paket
ORDER BY
p.id_paket
当表有值时,查询成功,但如果表为空,则仍显示行,尽管值为NULL
。我一直在尝试添加一个条件,比如
WHERE
pd.id_paket IS NOT NULL
但结果仍然是一样的;该行显示为空值。如何使结果成为空列表?哪个值/列为空?这是一个需要过滤(WHERE)的字段。在id_paket列中是否没有null约束?另外,检查表是否为空。因为您使用的是内部联接,所以当任何一个表为空时,查询都不应该返回任何行。要检查表是否为空,请分别选择每个表上的计数(*)。至少其中一个应该为零。在中添加一些数据和表,以便可以对其进行测试。