2016-08-29 4 views
0
내가 [새 값] 지난 날짜를 검색 할 선택이 필요

SQL - 마지막 날짜

select FisrtTable.[Date and Time],FisrtTable.[New Value],SecondTable.[Registering Date] 
from FisrtTable 
join SecondTable 
on FisrtTable.[New Value] = SecondTable.[New Value] 
where SecondTable.[Registering Date] >= '26-05-2015 0:00' 

을 선택해야

, 나는

enter image description here

가지고 있지만 나는 시간에 의해 마지막 행을 원하는

enter image description here

+2

DESC에서 전체 결과? –

답변

3

다음 쿼리를 사용하십시오.

with cte_1 
as 
(select FisrtTable.[Date and Time],FisrtTable.[New Value],SecondTable.[Registering Date], 
     ROW_NUMBER()OVER(PARTITION BY FisrtTable.[New Value] ORDER BY FisrtTable.[Date and Time] desc) RNO 
from FisrtTable 
join SecondTable 
on FisrtTable.[New Value] = SecondTable.[New Value] 
where SecondTable.[Registering Date] >= '26-05-2015 0:00') 

SELECT [Date and Time],[New Value],[Registering Date] 
FROM cte_1 
WHERE RNO=1 
+0

나는 내 질문을 편집 – pape

+0

업데이트 된 쿼리를 사용합니다. –

0

Simply 선택 TOP 1 기록 ordering 사용중인 DBMS

Select 
top 1 st.datefield, st.* 
from SomeTable st 
Order by st.datefield desc 
+0

그런 경우 내 질문 – pape

+0

을 편집하십시오. 단순히 상위 1을 제거하고 동일하게 시도하십시오. –

+0

그리고 "마지막 행"은 무엇을 의미합니까? –