【发布时间】:2016-07-31 17:48:13
【问题描述】:
我正在尝试使用嵌套选择并让它显示带有患者名字患者姓氏和他们的电子邮件的行。
我想用的是这个:
select pat_first, pat_last, pat_email
from (select pat_id
from patients
minus
select pat_allergies_id_fk
from patient_allergies);
但是,患者表有 pat_id、pat_first、pat_last 和 pat_email。 Patient_allergies 表只有 patient_allergies_id_fk 和 patient_allergies 列。如果我将我想要的表放入第一个内部选择中,例如:
select pat_first, pat_last, pat_email
from (select pat_id, pat_first, pat_last, pat_email
from patients
minus
select pat_allergies_id_fk
from patient_allergies);
但它给出了一个错误 - “ORA-01789:查询块的结果列数不正确”。我想这是因为我试图从一个有 5 列的表中减去一个包含两列的表,但我不确定如何让查询显示我想要的列(pat_first、pat_last 和 pat_email )。
例如,patients 表有 50 行,patient_allergies 表有 15 行,我试图获取不在 patient_allergies 中的 35 行,并输出 pat_first、pat_last 和 pat_email 行。
【问题讨论】: