【发布时间】:2013-07-04 06:40:03
【问题描述】:
我想根据列数据执行不同的 SELECT。例如,我有一个表http://sqlfiddle.com/#!2/093a2,只有当 use_schedule = 1 时,我才想比较 start_date 和 end_date。否则选择所有数据。 (不同的选择)基本上我只想比较开始日期和结束日期,如果只有 use_schedule 为 1,如果 use_schedule 为 0,则选择其余数据。
一个例子可能是这样的
select id, name from table
where use_schedule = 0
else
select id, name, start_date from table
where use_schedule = 0 and current_date >= start_date.
基本上,我只有启用计划的数据,然后查看开始和结束日期。因为如果未启用计划,则没有必要查看日期。只需选择数据。启用计划后,我希望在选择计划数据时更有选择性。
我试图弄清楚 MySQL CASE 或 IF 语句是否可以工作,但不能这样做。如何运行此选择?
谢谢。
【问题讨论】:
-
你想比较 start_date 和 end_date 是什么意思?如果在结束之后开始?开始是以前?请提供更多数据。
-
基本上我有启用计划的数据,然后查看开始和结束日期。因为如果未启用计划,则没有必要查看日期。只需选择数据。启用计划后,我希望在选择计划数据时更有选择性。
-
好的,现在我得到了更好的问题,将其添加到问题中以便更好地解释。我看到你只把“mysql”作为一个标签,你也使用服务器端语言吗?
-
我正在使用 LUA,在 MySQL 之外执行此操作没什么大不了的。我只是想删掉 1 个查询。
标签: mysql sql select if-statement