解决方案 »

  1.   

    count()一下,然后having count()=1
      

  2.   

    SELECT
        conclusiontype_name, COUNT(DISTINCT PeisPatient.id_patient) 实际体检人数
    FROM
        PeisOrgReservationPatient
    INNER JOIN PeisOrgReservation ON PeisOrgReservationPatient.ID_OrgReservation=PeisOrgReservation.ID_OrgReservation
    JOIN 
        PeisPatient ON PeisOrgReservationPatient.ID_Patient=PeisPatient.ID_Patient
    JOIN 
        PeisPatientConclusion ON PeisOrgReservationPatient.ID_Patient=PeisPatientConclusion.ID_Patient
    WHERE
        PeisOrgReservation.ID_OrgReservation IN (689, 690, 691, 745, 692, 693, 694,695, 696, 697, 698, 699, 700, 701) 
        AND 
        (PeisPatient.conclusion IS NOT NULL 
        OR
         peispatient.suggestion IS NOT NULL) 
        AND PeisPatient.dateregister IS NOT NULL 
        AND PeisPatient.sex='男'
        AND ConclusionType_Name=1
    GROUP BY
        conclusiontype_name
    HAVING  COUNT(DISTINCT PeisPatient.id_patient)=1
      

  3.   

    SELECT
        conclusiontype_name, COUNT(DISTINCT PeisPatient.id_patient) 实际体检人数
    FROM
        PeisOrgReservationPatient
    INNER JOIN PeisOrgReservation ON PeisOrgReservationPatient.ID_OrgReservation=PeisOrgReservation.ID_OrgReservation
    JOIN 
        PeisPatient ON PeisOrgReservationPatient.ID_Patient=PeisPatient.ID_Patient
    JOIN 
        PeisPatientConclusion ON PeisOrgReservationPatient.ID_Patient=PeisPatientConclusion.ID_Patient
    WHERE
        PeisOrgReservation.ID_OrgReservation IN (689, 690, 691, 745, 692, 693, 694,695, 696, 697, 698, 699, 700, 701) 
        AND 
        (PeisPatient.conclusion IS NOT NULL 
        OR
         peispatient.suggestion IS NOT NULL) 
        AND PeisPatient.dateregister IS NOT NULL 
        AND PeisPatient.sex='男'
        AND ConclusionType_Name='健康'
    GROUP BY
        conclusiontype_name
    HAVING  COUNT(DISTINCT PeisPatient.id_patient)=1
      

  4.   

    前辈,这不对,我没说清楚,我是要把只出现一次并且这个记录中ConclusionType_Name的值为健康,这两个条件组成一个大条件与上面的条件是and的关系
      

  5.   

    用子查询,先用group by having count()=1的过滤出只有一次体检记录的,然后关联其他表判断是否健康