我收到“太多值”错误,我不知道如何处理它。问题从第一个嵌套的 SELECT 开始
SELECT p.name, p.phone_number
FROM person p WHERE
(SELECT ks.title, ks.ks_code
FROM required_skills rs JOIN knowledge_skills ks USING (ks_code)
WHERE rs.pos_code = 'CS1')
IN (SELECT ks.title, ks.ks_code
FROM courses_taken ct JOIN course_learning_units clu
USING (c_code) JOIN learning_unit_skills lus USING (lu_code)
JOIN knowledge_skills ks USING (ks_code))
我查找了有关此错误的信息,我相信这是因为 WHERE 中的子查询返回了太多列。表格数据如下。但是我怎样才能减少它呢?我感谢任何指点,谢谢
required_skills
POS_CODE VARCHAR2(10 BYTE) Yes 1
KS_CODE VARCHAR2(10 BYTE) Yes 2
learning_unit_skills
LU_CODE VARCHAR2(10 BYTE) Yes 1
KS_CODE VARCHAR2(10 BYTE) Yes 2
人
PER_ID NUMBER(38,0) No 1
NAME VARCHAR2(255 BYTE) Yes 2
STREET VARCHAR2(255 BYTE) Yes 3
CITY VARCHAR2(60 BYTE) Yes 4
ZIP_CODE VARCHAR2(60 BYTE) Yes 5
PHONE_NUMBER VARCHAR2(255 BYTE) Yes 6
GENDER VARCHAR2(6 BYTE) Yes 7
课程学习单元
C_CODE VARCHAR2(10 BYTE) Yes 1
LU_CODE VARCHAR2(10 BYTE) Yes
修读的课程
C_CODE VARCHAR2(10 BYTE) Yes 1
PER_ID NUMBER(38,0) Yes 2