首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql中的同一字段获取两种状态的值

问从mysql中的同一字段获取两种状态的值
EN

Stack Overflow用户
提问于 2011-11-16 14:44:41
回答 3查看 92关注 0票数 0

这里我试图从一个名为lead的mysql表中获取值。日期范围存储在两个变量中。

开始日期存储在$from中,结束日期存储在$to中。

状态是表lead中的一个字段。

我想获取日期范围内的数据,状态为热,状态为已付

我尝试了下面的查询,但它没有像预期的那样工作。请纠正我哪里错了。

代码语言:javascript
复制
select * from lead 
WHERE added_on >= '$from' AND added_on <= '$to' AND 
    status='Hot' AND status='Paid'
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-16 14:49:45

使用"IN“检查多个可能的值:

代码语言:javascript
复制
SELECT *
FROM `lead`
WHERE
   (`added_on` >= '$from' AND `added_on` <= '$to')
   AND `status` IN ('Hot', 'Paid')
票数 1
EN

Stack Overflow用户

发布于 2011-11-16 14:48:19

状态不能同时为热点和已支付。

状态为“热门”或“已付费”。您可能希望该状态为“热门”或“已支付”,而不是“热门”和“已支付”。

代码语言:javascript
复制
select * from lead 
WHERE added_on >= '$from' AND added_on <= '$to' AND 
    (status='Hot' or status='Paid')
票数 3
EN

Stack Overflow用户

发布于 2011-11-16 14:56:43

我猜你可能是故意这么做的:

代码语言:javascript
复制
SELECT * FROM lead 
WHERE added_on BETWEEN '$from' AND '$to'
AND status IN ('Hot','Paid')

考虑将您的标准单独应用于每条记录。正如之前的帖子所说的那样:“状态不能同时是热门和付费的。”

基本上,这应该返回“热”或“已付”的所有记录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8147743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档