데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
먼저 질문 내용은
SELECT RDNO, DEM_CD, SEQ
FROM NP..tblnbanktran
WHERE RDNO = 'T0000003806'
결과값이 이렇게 나옵니다
RDNO DEM_CD SEQ
T0000003806 PA05000 001
T0000003806 PA05001 002
T0000003806 PA05000 003
이 결과값 중에 3번째 라인을 얻고 싶어서
T0000003806 PA05000 003
SELECT RDNO, max (SEQ), DEM_CD
FROM NP..tblnbanktran
WHERE RDNO = 'T0000003806'
GROUP BY RDNO
이렇게 돌리니 열 'NP..tblnbanktran.DEM_CD'이(가) 집계 함수나 GROUP BY 절에 없으므로 SELECT 목록에서 사용할 수 없습니다.
라고 나옵니다..
그렇다고 DEM_CD를 GROUP BY에 넣으면 값이 3번 열과 2번 열 2개의 결과가 나옵니다.
3번열 결과값 얻는 방법 좀 알려주세요~
감사합니다.
select RDNO, SEQ, DEM_CD
FROM NP..tblnbanktran as t2
inner join
(
SELECT RDNO, max (SEQ) AS seq
FROM NP..tblnbanktran
WHERE RDNO = 'T0000003806'
GROUP BY RDNO
) as t1 on
t1.RDNO = t2.RDNO
And t1.SEQ = t2.SEQ