감안할 때 :SQL Server : WHERE 절이있는 두 개의 쿼리로 UNION을 사용하는 방법?
select top 2 t1.ID, t1.ReceivedDate
from Table t1
where t1.Type = 'TYPE_1'
order by t1.ReceivedDate desc
그리고 : 필터링이 필요
두 쿼리
select top 2 t2.ID
from Table t2
where t2.Type = 'TYPE_2'
order by t2.ReceivedDate desc
별도로를,이 내가 찾고있어 ID
의를 반환 : (13, 11 및 12, 6)
기본적으로 두 개의 특정 ty에 대한 가장 최근의 두 레코드가 필요합니다. 데이터.
나는이 두 쿼리 함께과 같이 노동 조합하려는 :
select top 2 t1.ID, t2.ReceivedDate
from Table t1
where t1.Type = 'TYPE_1'
order by ReceivedDate desc
union
select top 2 t2.ID
from Table t2
where t2.Type = 'TYPE_2'
order by ReceivedDate desc
문제 :
문제는이 경우 첫 번째 select
가 order by
절을 가질 수 없기 때문에이 쿼리가 잘못이다 받고있는 것은 unioned
입니다. 그리고 order by
이없는 top 2
을 가질 수 없습니다.
이 상황을 어떻게 해결할 수 있습니까?
내 생각에 '주문'은 '어디서'가 아닌지에 문제가있는 것 같습니다. –