从mysql中的同一字段获取两个状态的值

从mysql中的同一字段获取两个状态的值,mysql,sql,Mysql,Sql,这里我试图从一个名为lead的mysql表中获取值。日期范围存储在两个变量中 开始日期存储在$from中,结束日期存储在$to中 状态是表lead中的一个字段 我想获取日期范围和状态Hot和状态PAYED中的数据 我尝试了以下查询,但它没有按预期工作。请纠正我哪里错了 select * from lead WHERE added_on >= '$from' AND added_on <= '$to' AND status='Hot' AND status='Paid'

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

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

状态是表lead中的一个字段

我想获取日期范围和状态Hot和状态PAYED中的数据

我尝试了以下查询,但它没有按预期工作。请纠正我哪里错了

select * from lead 
WHERE added_on >= '$from' AND added_on <= '$to' AND 
    status='Hot' AND status='Paid'
从lead中选择*

其中添加在>=“$from”和添加在状态不能同时是热的和付费的

状态为“热门”或“付费”。你可能希望这种状态是“热门”或“付费”,而不是“热门”或“付费”

从lead中选择*

其中添加在>=“$from”和添加在状态不能同时是热的和付费的

状态为“热门”或“付费”。你可能希望这种状态是“热门”或“付费”,而不是“热门”或“付费”

从lead中选择*
当added_on>=“$from”和added_on时,使用“IN”检查多个可能的值:

SELECT *
FROM `lead`
WHERE
   (`added_on` >= '$from' AND `added_on` <= '$to')
   AND `status` IN ('Hot', 'Paid')
选择*
来自`铅`
哪里
(`added_on`>='$from'和`added_on`使用“IN”检查多个可能的值:

SELECT *
FROM `lead`
WHERE
   (`added_on` >= '$from' AND `added_on` <= '$to')
   AND `status` IN ('Hot', 'Paid')
选择*
来自`铅`
哪里

(`added_on`>='$from'和`added_on`我猜你可能是有意这么做的:

SELECT * FROM lead 
WHERE added_on BETWEEN '$from' AND '$to'
AND status IN ('Hot','Paid')
想想你的标准是如何独立应用于每一张唱片的。正如前一张海报正确地说的,“状态不能是热门的,也不能同时付费。”


基本上,这将返回所有“热门”或“付费”的记录。

我猜您可能是有意这样做的:

SELECT * FROM lead 
WHERE added_on BETWEEN '$from' AND '$to'
AND status IN ('Hot','Paid')
想想你的标准是如何独立应用于每一张唱片的。正如前一张海报正确地说的,“状态不能是热门的,也不能同时付费。”


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

你说它没有按预期工作。怎么做?你说它没有按预期工作。怎么做?我想我需要新眼镜。我没有看最后的条款。是的……不可能。它来自用户的选择框。用户可以选择热门或付费……等等。我想要获取的行应该介于日期范围之间,并且应该包含其中一个状态Hot或Paid,然后您需要将status作为参数传入。因此,当坚持您的语法时,其中status='$status'。这两个语句应该产生相同的输出!虽然in更好。我想我需要新的眼镜。我没有看最后一个子句s、 是的…它不能是..它来自用户的选择框。用户可以选择Hot或Pad…等等。我希望获取的行应该在日期范围之间,并且应该包含Hot或Pad状态中的任何一个,然后您需要将status作为参数传入。因此,当坚持您的语法时,其中status=“$status”。这两个语句都是应该会产生相同的输出!虽然输入更好。