[英]SQL working with dates in where clause
我在这里有此SQL代码。
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的行。
我究竟做错了什么?
我不确定,但这不是您想要的:
SELECT cl.clientid, cl.clientname, cl.billingdate, cp.startdate, cp.expiration,
(select count(*) from invoice where 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 or expiration > '2012-06-22')
用或而不是和到期。 因为到期不能为空,并且>'2012-06-22'...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.