如何有多个数据调用条件

时间:2009-10-01 23:29:58

标签: mysql

我的MySQL数据库中有一个表,如下所示

banner
--------
 id  : bigint(20)
name : varchar(75)
type : set('news','event')
link : bigint(20)
when : int(10)

我想要做的是我希望能够回忆起所有具有“新闻”类型的行 但我只想回忆所有“事件”类型的行,其中'when>时间()'
或者基本上是将来发生的任何事件

RECAP:

  • 召回所有新闻项目
  • 仅回忆未来发生的事件

我正在使用PHP作为脚本语言运行SQL查询。

全部谢谢

2 个答案:

答案 0 :(得分:1)

SELECT * 
FROM banner 
WHERE type = "news" 
    OR (type = "event" AND when > NOW())

答案 1 :(得分:0)

我曾经尝试过类似Lukasz Lysik所建议的东西,但仍然没有过去的事件。

我认为以下解决了它

SELECT * 
FROM `banner` 
WHERE IF(`type` = 'event', `when` > NOW(), 1) 
ORDER BY `when` DESC