誰かが必要な結果の正しい構文を得るのを手伝ってくれますか? 以下のクエリでは、サブクエリは 2 つのコース (A と B) を取得します。クエリ全体が保持されている期間を取得します。ただし、両方のクラスに共通する期間のみが必要です。
select m.period
from course
join meets m
using (start_yy, school, class_cd)
join section s
using (start_yy, school, class_cd, section)
where start_yy = '11'
and school = 'MYSCH'
and class_cd in (select cl.class_cd
from crslink cl, linkhead lh
where cl.start_yy = '11'
and cl.school = 'MYSCH'
and cl.seq_number = lh.seq_number)
order by period;
サブクエリの 2 つのクラスは複数の期間に保持されますが、期間 4 だけが両方に共通する期間です。どうすればその結果を得ることができますか?
結果: 1,2,4,7
必要: 4
クエリで使用されるフィールドを含むテーブル構造を次に示します。
TABLE_NAME,COLUMN_ID,COLUMN_NAME,DATA_TYPE,DATA_LENGTH
COURSE ,1 ,START_YY ,VARCHAR2 ,2
COURSE ,2 ,SCHOOL ,VARCHAR2 ,4
COURSE ,3 ,CLASS_CD ,VARCHAR2 ,10
CRSLINK ,1 ,START_YY ,VARCHAR2 ,2
CRSLINK ,2 ,SCHOOL ,VARCHAR2 ,4
CRSLINK ,3 ,CLASS_CD ,VARCHAR2 ,10
CRSLINK ,4 ,SEQ_NUMBER ,NUMBER ,22
LINKHEAD ,1 ,START_YY ,VARCHAR2 ,2
LINKHEAD ,2 ,SCHOOL ,VARCHAR2 ,4
LINKHEAD ,7 ,SEQ_NUMBER ,NUMBER ,22
MEETS ,1 ,START_YY ,VARCHAR2 ,2
MEETS ,2 ,SCHOOL ,VARCHAR2 ,4
MEETS ,3 ,CLASS_CD ,VARCHAR2 ,10
MEETS ,4 ,SECTION ,VARCHAR2 ,3
MEETS ,6 ,PERIOD ,VARCHAR2 ,2
SECTION ,1 ,START_YY ,VARCHAR2 ,2
SECTION ,2 ,SCHOOL ,VARCHAR2 ,4
SECTION ,3 ,CLASS_CD ,VARCHAR2 ,10
SECTION ,4 ,SECTION ,VARCHAR2 ,3