我需要查询以查看是否在一周中的特定一天找到与特定业务匹配的事件。但是,如果数据库中只有一个事件与此业务匹配,我还是要显示它。不确定如何将此逻辑合并到我的查询中。
$saturday = 6;
SELECT *
FROM t1
WHERE busID = $busID
AND $saturday IN (t1.week_days)t1.week_days是逗号分隔的字符串: 2,3,4,5
发布于 2017-08-06 01:30:23
执行两个查询,一个针对业务的所有事件,另一个仅针对周六的事件。将它们与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)https://stackoverflow.com/questions/45524543
复制相似问题