MS Access 子查询

MS Access Subquery

下面的 sql 查询需要合并,以便进一步减少结果。其中之一需要是子查询。我是 Access 的新手,只会遇到错误。最终结果应该进一步过滤结果以仅显示满足两个查询中所有条件的遭遇。这两种方法都各自产生了正确的结果...如果您能提供任何帮助,我们将不胜感激。

SELECT encounters.encounter_id, medications.encounter_id, 
    medications.medication_id, medication_types.medication_id, 
    medication_types.name, medication_types.class
FROM medication_types 
INNER JOIN (encounters 
    INNER JOIN medications ON encounters.encounter_id = medications.encounter_id) 
    ON medication_types.medication_id = medications.medication_id
WHERE medication_types.class LIKE '*Antibiotic*';
SELECT encounters.encounter_id, encounters.admit_year, 
    diseases.encounter_id, diseases.disease_id, 
    disease_types.disease_id, disease_types.icd9cm
FROM encounters 
INNER JOIN (disease_types 
    INNER JOIN diseases ON disease_types.disease_id = diseases.disease_id) 
    ON encounters.encounter_iD = diseases.encounter_id
WHERE disease_types.icd9cm IN ('041.3','480.0','480.1','480.2','480.3','480.8','480.9','481','482.1','482.2','482.9','486','V03.82','V12.61')
AND admit_week BETWEEN 5 and 9
AND encounters.admit_year = 2014
ORDER BY encounters.admit_week;

如果不需要显示药物和疾病,只需要return遭遇信息,考虑:

SELECT DISTINCT encounters.encounter_id, admit_year FROM Query2 WHERE encounters.encounter_id IN (SELECT encounters.encounter_id FROM Query1);