으로 연합의 모든/주문 나는 같은 데이터를 두 개의 테이블이 -이를 반환하는 TestTable1 + TestTable2의 결과 집합 만 이 개 최신 기록을 갖고 싶어이 더 좋은 방법인가 -
TestTable1 TestTable2
---------- ----------
Id Name DealDate Id Name DealDate
1 aaTable 2010-09-22 1 aaTable2 2010-09-23
2 bbTable 2010-09-23 2 bbTable2 2010-09-24
3 ccTable 2010-09-28 3 ccTable2 2010-09-26
4 ddTable 2010-09-25 4 ddTable2 2010-09-27
-
Id Name DealDate
4 ccTable 2010-09-28
3 ddTable2 2010-09-27
이 내 현재 쿼리입니다
SELECT TOP 2 * FROM
(
SELECT * FROM
(SELECT TOP 2 Id, Name, DealDate FROM TestTable1 ORDER BY DealDate DESC) T1
UNION ALL
SELECT * FROM
(SELECT TOP 2 Id, Name, DealDate FROM TestTable2 ORDER BY DealDate DESC) T2
) T1T2
ORDER BY DealDate DESC
수있는 사람하시기 바랍니다 g 이것을 달성하기위한 더 나은 방법 (성능 현명한/가독성)을위한 나를 도와 주시겠습니까?
P. 위의 표는 유스 케이스를 보여주기위한 것일뿐 실제 테이블에는 수천 개의 레코드가 있습니다.
감사합니다.
실제로이 방법으로 성능 문제가 있습니까? – Oded
두 개의 최신 거래가 같은 테이블에있는 경우 최신 두 개의 거래 만 원했습니까? 아니면 항상 TestTable1과 TestTable2 중 하나를 원하십니까? – Arj