该表由以下列组成:(note, note_owner)。
有一个包含列的员工表:(empoyer_name, his_manager_name)。
有必要从第一个表中读取属于特定经理或其雇员的记录。
像这样尝试:
SELECT *
FROM fgac_table
WHERE note_owner = 'manager_1'
OR note_owner = (
SELECT empoyer_name
FROM employers_table
WHERE his_manager_name = 'manager_1');
但是错误:
ORA-01427: 单行子查询返回多于一行
应如何更正请求?
像这样通过
EXISTS带有相关子查询的条件:如果使用 operator
IN,那么最好将条件移动OR到子查询:PS 表格设计中可能出现的错误:
note_owner不是empoyer_name唯一的,同名的可能是同名的,需要创建唯一的记录标识符该建议
IN对您的情况有所帮助。SQL