如何设置顺序按使空行会为了基于掀起了后来约束

问题描述:

我有以下查询:如何设置顺序按使空行会为了基于掀起了后来约束

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 

它给了我下面的结果:

Results

顶部行是@FirstRunData表中的行,但与@SecondRunData行中的行不匹配。

我该如何更改我的订单,使额外的行位于FirstOrderId中的10000行之后?

您可能可以在ORDER BY子句中利用COALESCE。例如,

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

类似这样我的地址是您的示例,但您需要根据您对所有条件的要求进行更改。

+0

太棒了!这工作完美。谢谢! – Vaccano 2011-03-28 05:50:55