Bạn chỉ cần thêm logic vào where mệnh đề:
SELECT `p_Id`,`user_id`,`doc_id`,`credit` ,`app_date`,`expires_on`,
(credit -debited_amount) AS credit
FROM `wp_loyalty_credits`
WHERE `expires_on`>now() and (credit > debited_amount or debited_amount is null);
Truy vấn của bạn xác định lại credit trong select . Tuy nhiên, điều đó không liên quan, vì bạn không thể tham chiếu đến bí danh cột trong where mệnh đề. Vì vậy, cột credit là những gì nó được sử dụng. Sẽ rõ ràng hơn nếu bạn thêm bí danh bảng:
SELECT lc.p_Id, lc.user_id, lc.doc_id, lc.credit, lc.app_date, lc.expires_on,
(lc.credit - lc.debited_amount) AS credit
FROM `wp_loyalty_credits` lc
WHERE lc.expires_on > now() and
(lc.credit > lc.debited_amount or lc.debited_amount is null);