mysql - MY QUERY IS GIVING 错误代码:1242。子查询返回超过 1 行
问题描述
select doctor.Doc_Name from doctor
where doctor.Dept_id=(select department.Dept_No from department where department.Estd_Date>='2013-03-10');
我知道我们可以通过加入/约束来进行此查询,但这不是我的问题。我想知道是否有一种方法可以使用嵌套子查询进行此查询?
解决方案
正如消息所说,您的子查询
SELECT department.Dept_No FROM department WHERE department.Estd_Date >= '2013-03-10'
返回不止一行。您需要使用IN
而不是=
where 匹配多个值:
SELECT doctor.Doc_Name FROM doctor
WHERE doctor.Dept_id IN (SELECT department.Dept_No FROM department WHERE department.Estd_Date >= '2013-03-10');
推荐阅读
- javascript - Puppeteer 无法进入 iframe
- typescript - ESLint 与 TypeScript,如何禁用严格的空检查?
- reactjs - React hooks 我应该在哪里执行函数?父母还是孩子?
- java - 在java中如何根据字符串过滤出xml中的子节点
- python - 使用 Tensorflow-GPU 的 Python 文件制作的 EXE 在部署时不使用 GPU
- c - 使用scanf的二维数组中的分段错误
- python - 尝试使用 scipy 将三角函数拟合到数据中
- git - 为什么我通过 git 登录 Overleaf 有问题
- python - 如何制作透明的pygame.draw.circle
- javascript - 为什么我的变量是空的,而不是在 JS 中未定义?