首页 > 解决方案 > SQL将多个字段条件绑定为AND子句

问题描述

有人可以帮我处理这个 SQL。

输出必须始终将 day_ids 作为多个条件加入。

例如,如果我们选择 day_id IN (0,2,4),它必须只返回所有具有 day_ids (0,2,4) 的数据。它工作正常。

所以当我们输入 (0,2,4,5) 时,它一定不能返回任何数据。这就是问题发生的地方。

由于 IN 子句跟在 OR 语句之后,它仍然给出相同的结果而不是返回 NULL。

示例数据:https ://drive.google.com/file/d/1rXjOPxFRmtDjdyD4bDvULP-m38G5GvIB/view

视频:https ://drive.google.com/file/d/1WM42cmmMe1nCusqacJNS_MI2t9szgZGn/view?usp=sharing

任何想法将不胜感激。

https://i.stack.imgur.com/lWfdy.png https://i.stack.imgur.com/s0Ala.png

标签: mysqljoinin-clause

解决方案


SELECT * FROM vw_transfer_sched WHERE day_id in (0,2,4,5)
GROUP BY week_num, day_id, teacher_id
HAVING COUNT(distinct day_id) = 4;

推荐阅读