SQL Serverクエリがあります:
(
SELECT k12_dms_contacts_institution_jobtitles.job_title_id AS id
FROM k12_dms_contacts_institution_jobtitles
INNER JOIN k12_dms_institution_master ON k12_dms_institution_master.id = k12_dms_contacts_institution_jobtitles.inst_id
WHERE (
k12_dms_institution_master.state_id='63'
AND k12_dms_contacts_institution_jobtitles.glevel_id='1'
)
GROUP BY
k12_dms_contacts_institution_jobtitles.job_title_id
)
INTERSECT
(
SELECT k12_dms_contacts_institution_jobtitles.job_title_id AS id
FROM k12_dms_contacts_institution_jobtitles
INNER JOIN k12_dms_institution_master ON k12_dms_institution_master.id = k12_dms_contacts_institution_jobtitles.inst_id
WHERE (
k12_dms_institution_master.state_id='63'
AND k12_dms_contacts_institution_jobtitles.glevel_id='2'
)
GROUP BY
k12_dms_contacts_institution_jobtitles.job_title_id
)
INTERSECT
(
SELECT k12_dms_contacts_institution_jobtitles.job_title_id AS id
FROM k12_dms_contacts_institution_jobtitles
INNER JOIN k12_dms_institution_master ON k12_dms_institution_master.id = k12_dms_contacts_institution_jobtitles.inst_id
WHERE (
k12_dms_institution_master.state_id='63'
AND k12_dms_contacts_institution_jobtitles.glevel_id='3'
)
GROUP BY
k12_dms_contacts_institution_jobtitles.job_title_id
)
INTERSECT
(
SELECT k12_dms_contacts_institution_jobtitles.job_title_id AS id
FROM k12_dms_contacts_institution_jobtitles
INNER JOIN k12_dms_institution_master ON k12_dms_institution_master.id = k12_dms_contacts_institution_jobtitles.inst_id
WHERE (
k12_dms_institution_master.state_id='63'
AND k12_dms_contacts_institution_jobtitles.glevel_id='4'
)
GROUP BY
k12_dms_contacts_institution_jobtitles.job_title_id
)
上記のクエリを最適化する方法はありますか。交差はWhere句に基づいてのみ必要です。すべてのグレードレベルに共通するすべての役職を取得したいと思います。