这里我试图从一个名为lead的mysql表中获取值。日期范围存储在两个变量中。
开始日期存储在$from中,结束日期存储在$to中。
状态是表lead中的一个字段。
我想获取日期范围内的数据,状态为热,状态为已付
我尝试了下面的查询,但它没有像预期的那样工作。请纠正我哪里错了。
select * from lead
WHERE added_on >= '$from' AND added_on <= '$to' AND
status='Hot' AND status='Paid'发布于 2011-11-16 14:49:45
使用"IN“检查多个可能的值:
SELECT *
FROM `lead`
WHERE
(`added_on` >= '$from' AND `added_on` <= '$to')
AND `status` IN ('Hot', 'Paid')发布于 2011-11-16 14:48:19
状态不能同时为热点和已支付。
状态为“热门”或“已付费”。您可能希望该状态为“热门”或“已支付”,而不是“热门”和“已支付”。
select * from lead
WHERE added_on >= '$from' AND added_on <= '$to' AND
(status='Hot' or status='Paid')发布于 2011-11-16 14:56:43
我猜你可能是故意这么做的:
SELECT * FROM lead
WHERE added_on BETWEEN '$from' AND '$to'
AND status IN ('Hot','Paid')考虑将您的标准单独应用于每条记录。正如之前的帖子所说的那样:“状态不能同时是热门和付费的。”
基本上,这应该返回“热”或“已付”的所有记录。
https://stackoverflow.com/questions/8147743
复制相似问题