쿼리문 질문 좀 드리겠습니다. 1 2 929

by 보청기 [SQLServer] 쿼리문 [2021.04.21 14:19:08]


안녕하세요.

초보자인데 쿼리문 질문 좀 드리겠습니다.

아래 보시면 업체테이블과 업체의 결제 테이블이 있는데...

결제내역 페이지에 아래 '쿼리결과' 이미지처럼 업체별로 마지막 결제내역만 나오게 하고 싶은데요...

쿼리를 한번만 실행해서 하고 싶은데.. 며칠을 이리저리 해봐도 모르겠네요...

도움 좀 부탁드리겠습니다..

감사합니다. (--)(__)

참고 : MSSQL 입니다.




=========================================================

by pajama [2021.04.21 14:52:13]

row_number 사용하시면 될듯합니다~

with 업체테이블 (업체코드, 업체명) as (
select 'C00001', '그린마일' union all
select 'C00002', '이지세스'
),
결제테이블 (idx,업체코드,최근결제일,결제금액,다음결제일) as (
select 4, 'C00001', '2020-04-20', '50000' , '2020-05-20' union all
select 3, 'C00001', '2020-03-20', '100000', '2020-04-20' union all
select 2, 'C00002', '2020-01-10', '50000' , '2020-02-20' union all
select 1, 'C00002', '2020-12-20', '100000', '2021-01-20'
)
select 업체명, 최근결제일, 결제금액, 다음결제일
from (select 업체명, 최근결제일, 결제금액, 다음결제일, row_number() over (partition by 업체명 order by 최근결제일 desc) rn
        from 업체테이블 a, 결제테이블 b
       where a.업체코드 = b.업체코드) t
where rn = 1

 


by 보청기 [2021.04.21 15:55:37]

너무 감사합니다..(--)(__)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입