데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
select * from table_1
결과 :
날짜 | 품번 | 금액 |
2016-10-01 | 삼성 | 1000 |
2016-10-02 | 삼성 | 2000 |
2016-10-03 | 삼성 | 3000 |
2016-10-01 | LG | 4000 |
2016-10-02 | LG | 5000 |
이렇게 조회가 되는데요
여기서 제가 10/2일을 특정날짜로 정하고 10/2일 이상인 날짜중에서 품번별 최신날짜 금액을 구하고 싶습니다.
결과 :
날짜 | 품번 | 금액 |
2016-10-03 | 삼성 | 3000 |
2016-10-02 | LG | 5000 |
이렇게 결과값이 나오도록 하고 싶습니다.
도와주세요
Comment 1
-
항해자™
2016.10.03 00:52
;with cteTable as (
select cProduct
from dbo.table1
where cDate >= '2016-10-02'
group by cProduct
)
select *
from cteTable as a
corss apply (
select top 1 *
from dbo.table1 as x
where x.cProduct = a.cProduct
and cDate >= '2016-10-02'
order by cDate
) as b