2011-03-28 5 views
1

을 기반으로 주문할 것인가 그래서 널 (null) 행으로 설정 순서에 I가 다음 쿼리 :나중에 제약

Results

상단 : 그것은 나에게 다음과 같은 결과를 얻을 수

SELECT frst.FirstActionPath, scnd.SecondActionPath, frst.FirstIterationId, scnd.SecondIterationId, 
     frst.FirstTestRunId, scnd.SecondTestRunId, frst.FirstOrderId, scnd.SecondOrderId 
FROM @FirstRunData frst 
     FULL JOIN @SecondRunData scnd 
      ON frst.FirstIterationId = scnd.SecondIterationId 
      AND frst.FirstActionPath = scnd.SecondActionPath 

ORDER BY scnd.SecondIterationId, scnd.SecondOrderId, frst.FirstIterationID, frst.FirstOrderId 

행은 @FirstRunData 테이블에 있지만 @SecondRunData 행에서 일치하는 행이없는 행입니다.

FirstOrderId에서 10000 값이있는 행 뒤에 추가 행이 오도록 내 주문을 어떻게 변경합니까?

답변

3

ORDER BY 절에서 COALESCE를 이용할 수 있습니다. 예를 들어,

ORDER BY COALESCE(scnd.SecondIterationId, frst.FirstIterationID, 9999), 
COALESCE(scnd.SecondOrderId, frst.FirstOrderId, 9999), 
frst.FirstIterationID, frst.FirstOrderId 

이 내용은 내 주소이지만 내 조건에 따라 요구 사항을 변경해야합니다.

+0

환상적! 그것은 완벽하게 작동했습니다. 감사! – Vaccano