mysql - 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
解决方案
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;
推荐阅读
- java - 如何在 Junit 中生成可读的真值表测试数据
- assembly - 将 GAS 转换为 MASM 时我做错了什么?
- javascript - 通过javascript中的xpath从字符串中获取值
- types - OCaml 中的函数,它接受一个整数输入并返回给定的前一个值
- git - 在 git repo 中重命名文件并保留文件的作者?
- python - 使用新索引一次性向多列添加值 - 熊猫
- json - json字典中第一次出现的元素与jq
- javascript - 用于检查 HTML 中的更改的开发工具
- javascript - php 无法从 html 中获取值
- android-studio - 我是 Android Studio 的新手,我正在创建一个壁纸应用程序,但我希望壁纸在一定时间后自动更改