Sql Oracle查询,用于在其中一个条件为真但两个条件均为真时检索记录
我有下表,我想检索学习过Sql Oracle查询,用于在其中一个条件为真但两个条件均为真时检索记录,sql,oracle,conditional-operator,Sql,Oracle,Conditional Operator,我有下表,我想检索学习过英语或科学的学生(STUD\u ID)。如果他们既学过英语又学过科学,那就不要再学了 因此,所需的输出是101102104106107 该表实际上是一个视图,其中前两列来自表STUD\u INFO,主题列来自STUD\u INFO表中的嵌套表 SELECT groupid, Stud_id, NST.Name FROM STUD_INFO, TABLE(SUBINFO) NST 有人能帮我做一个SQL查询吗?有趣的是当
英语
或科学
的学生(STUD\u ID
)。如果他们既学过英语又学过科学,那就不要再学了
因此,所需的输出是101102104106107
该表实际上是一个视图,其中前两列来自表STUD\u INFO
,主题列来自STUD\u INFO表中的嵌套表
SELECT groupid,
Stud_id,
NST.Name
FROM STUD_INFO,
TABLE(SUBINFO) NST
有人能帮我做一个SQL查询吗?有趣的是当我使用
主题=英语和主题=科学它不检索任何数据
groupid Stud_id Subject
------- ------- --------
1 101 ENGLISH
1 102 MATH
1 103 ENGLISH
1 103 SCIENCE
1 104 ENGLISH
1 104 MATH
1 105 PT
1 105 ENGLISH
1 105 SCIENCE
2 106 ENGLISH
2 107 SCIENCE
2 108 SCIENCE
2 108 ENGLISH
Subject=ENGLISH和Subject=SCIENCE
说“学科必须同时是英语和科学”,这是不可能的
select stud_id from your_view
where subject in ('ENGLISH', 'SCIENCE')
group by stud_id
having count(subject) = 1
这对你有用吗?
Subject=ENGLISH和Subject=SCIENCE
说“学科必须同时是英语和科学”,这是不可能的
select stud_id from your_view
where subject in ('ENGLISH', 'SCIENCE')
group by stud_id
having count(subject) = 1
这对您有用吗?发布代码时不要使用制表符发布代码时不要使用制表符