0
我這裏有這個SQL代碼..SQL使用日期在where子句
SELECT cl.clientid,
cl.clientname,
cl.billingdate,
cp.startdate,
cp.expiration,
(SELECT COUNT(*)
FROM invoice
HERE client = cl.clientid) AS invoicecount
FROM client cl
INNER JOIN clientplan cp ON cp.client = cl.clientid
WHERE cl.isbilled = 1 AND expiration is NULL AND expiration > '2012-06-22'
我的問題是,一個客戶端可以有3個客戶端計劃,他們要麼有到期日或到期爲NULL。我正在嘗試獲取未過期的行或爲NULL的行。
我在做什麼錯?
如果日期爲NULL,則永遠不會有值。[編輯]所以它將會是EXPIRATION IS NULL或(EXPIRATION IS NOT NULL AND EXPIRATION> '22 -JUN-2012')[/編輯] – PaddyC
感謝帕迪C,它的工作! – user979331
AND'並不意味着'這些記錄和那些記錄'它意味着'這是真的,這是真的'。在你的情況下,你*不能*有'expiration IS NULL' ***和***'expiration>'2012-06-22''同時成立。你的意思是'cl.isbilled = 1 AND(expiration爲NULL或expiration>'2012-06-22')' – MatBailie