2013-01-15 16 views
0

안녕 얘들 아 나는 좀 이상하다. 다음은 그 진술입니다. 지난 6 개월 동안 3 번 이상 방문한 환자를 찾고 있습니다. 나는 이것이 나에게 더 쉬운 awnser를 줄 것이다.groupby와 가진 서브 쿼리와 데

SELECT od_ar_demographics.PATIENT_ARPTYPE, 
     od_ar_demographics.PATIENT_NAME, 
     od_ar_demographics.MR_NUMBER, 
     OD_IP1.IP1ADMIT_DATE, 
     OD_IP1.IP1DISC_DATE, 
     od_ar_demographics.PATIENT_TYPE 
FROM   od_ar_demographics INNER JOIN 
         OD_IP1 ON od_ar_demographics.PATIENT_NUMBER = OD_IP1.IP0NUMBER 
where   Mr_number in (select MR_number from (SELECT MR_number, 
COUNT(MR_number) as LLL 
FROM od_ar_demographics INNER JOIN 
         OD_IP1 ON od_ar_demographics.PATIENT_NUMBER = OD_IP1.IP0NUMBER WHERE IP1admit_date >(getdate()- 180) GROUP BY MR_number 
HAVING (COUNT(MR_number) > 3)) 
+0

그리고 당신의 질문은 무엇인가에 대한 별칭을해야합니까? – Quassnoi

+0

이 쿼리는 작동하지 않습니다. 오류가 발생했습니다. 메시지 170, 수준 15, 상태 1, 줄 6 줄 6 : ') 근처의 구문이 잘못되었습니다. –

+0

적어도 닫는 괄호가 없습니다. –

답변

0

이 시도, 당신은 당신의 하위 쿼리

SELECT od_ar_demographics.PATIENT_ARPTYPE, 
     od_ar_demographics.PATIENT_NAME, 
     od_ar_demographics.MR_NUMBER, 
     OD_IP1.IP1ADMIT_DATE, 
     OD_IP1.IP1DISC_DATE, 
     od_ar_demographics.PATIENT_TYPE 
FROM od_ar_demographics 
INNER JOIN OD_IP1 
    ON od_ar_demographics.PATIENT_NUMBER = OD_IP1.IP0NUMBER 
WHERE Mr_number IN (SELECT MR_number 
        FROM ( 
          SELECT MR_number, COUNT(MR_number) as LLL 
          FROM od_ar_demographics 
          INNER JOIN OD_IP1 
          ON od_ar_demographics.PATIENT_NUMBER = OD_IP1.IP0NUMBER 
          WHERE IP1admit_date > getdate()- 180 
          GROUP BY MR_number 
          HAVING COUNT(MR_number) > 3 
         ) A 
        ) 
+0

고마워요! –

관련 문제