查询条件参数

时间:2017-08-05 17:16:32

标签: mysql

我需要查询是否在一周的特定日期找到与特定业务匹配的事件。但是,如果数据库中只有一个事件与此业务匹配,我仍然想要显示它。不确定如何将此逻辑合并到我的查询中。

$saturday = 6;

SELECT *
FROM t1
WHERE busID = $busID
AND $saturday IN (t1.week_days)

t1.week_days是逗号分隔的字符串:2,3,4,5

1 个答案:

答案 0 :(得分:0)

执行两个查询,一个用于业务的所有事件,另一个用于周六的事件。将它们与UNION组合,然后过滤到星期六事件(如果存在)。

SELECT *
FROM (SELECT 1 AS type, t1.*
      FROM t1
      WHERE busID = $busID
      AND FIND_IN_SET($saturday, week_days)
      UNION ALL
      SELECT 2 AS type, t1.*
      FROM t1
      WHERE busID = $busID) AS x
HAVING type = MIN(type)
相关问题