select T2.ID , T2.reg_day
From T1, T2
where T1.r_kb = 'T'
and T1.r_no = '1221'
and T1.il_no = '1'
and T1.d_no = '11'
and T2.d_kb = '0'
and ( T1.id = T2.id or T1.id = T2.sid)
위와 같은 쿼리를 하면 아래와 같은 10건의 데이터가 나옵니다.
ID REG_DAY
----------------------------------------------------------
10A 8/27/2002 2:07:19 PM
10A 8/27/2002 6:26:11 PM
10A 8/27/2002 7:30:41 PM
10A 8/27/2002 7:44:31 PM
10A 8/28/2002 2:08:20 PM
10A 8/28/2002 7:06:22 PM
10A 8/28/2002 7:07:20 PM
10A 8/28/2002 7:27:38 PM <-----
10A 8/28/2002 7:31:27 PM
25A 8/28/2002 7:27:38 PM<------
근데 제가 뽑고 싶은건 GROUP BY해서 뽑는게 아니라
위의경우 날짜가 완전히 동일한(초까지) 두건(위의 화살표)만 뽑고 싶습니다.
근데 이 날짜 정보를 다른 곳에서 알수가 없습니다.
즉 WHERE 조건에 넣을 수가 없습니다.
(AND REG_DAY='8/28/2002 7:27:38 PM' 이렇게 할수가 없는거죠)
그리고 이것이 위처럼 두건일 수도 있고 여러건일 수도 있어요.
또 최신날짜가 아닐 수도 있구요.
그래서 쿼리 안에서 어떻게 해결해야 하는데
감이 안잡힙니다. 제가 SQL을 잘 못하거든요.
답변 주시면 감솨.....
FROM TempTable
WHERE (F1,F2) IN
(
SELECT F1,F2
FROM TempTable
GROUP BY F1,F2
HAVING COUNT(*) > 1
)
중복된것을 보여주는것이 맞는지 모르겠네요..
질문이 어려워서요 ㅠ.ㅠ
그룹바이 한 다음 해빙으로 조건걸구 (딱 2개인것만 찾으신다면 COUNT(*) = 2)
하시면 될것 같구요 IN으로 그 결과를 조건절에 이용하시면 안될까요
이게 질문의 답이 되는지 모르겠네요