嵌套的SQL另外一种写法

SELECT a.TradeOrderID 二段交易号 ,
c.TradeOrderID 一段订单号 ,
a.BaggingDate AS 出库时间 ,
a.TransportOrderCode AS 转运单号 ,
a.TransportOrderCodeEx AS 外部单号 ,
a.Country AS 目的地 ,
b.LogisticsName AS 渠道 ,
dbo.Fun_GetTransportOrderStatus(a.StatusFlag) AS 状态 ,
a.CreateTime AS 生成时间 ,
a.WaitDomesticOffShel AS 货物已全部上架 ,
a.CoboxTime AS 合箱称重 ,
a.CoboxTime AS 打印面单 ,
BaggingDate AS 装袋扫描 ,
( SELECT TOP 1
BatchNo
FROM dbo.TWX_ScanLogisticsTransfer WITH ( NOLOCK )
WHERE LogisticsTransferBoardID IN (
SELECT LogisticsTransferBoardID
FROM dbo.TWX_LogisticsTransferDtl WITH ( NOLOCK )
WHERE LogisticsTransferDtlID = a.LogisticsTransferDtlID )
) AS 装车批次 ,
( SELECT TOP 1
temp.CreateTime
FROM ( SELECT Descriptions ,
CreateTime
FROM dbo.Log_OrderLog l WITH ( NOLOCK )
WHERE l.RelateID = a.TransportOrderID
AND l.RelateType = 1
) temp
WHERE temp.Descriptions = '装车扫描'
) AS 装车时间 ,
( SELECT TOP 1
TrackTime
FROM dbo.Log_TransportOrderTrack t WITH ( NOLOCK )
WHERE t.TransportOrderID = a.TransportOrderID
AND t.TrackCode = 'CC_O_SUCCESS_01'
) AS 出口清关完成 ,
( SELECT TOP 1
TrackTime
FROM dbo.Log_TransportOrderTrack t WITH ( NOLOCK )
WHERE t.TransportOrderID = a.TransportOrderID
AND t.TrackCode = 'CC_O_SUCCESS_02'
) AS 离开起运港 ,
( SELECT TOP 1
TrackTime
FROM dbo.Log_TransportOrderTrack t WITH ( NOLOCK )
WHERE t.TransportOrderID = a.TransportOrderID
AND t.TrackCode IN ( 'CAI_CUSTOMS_CLR_SUC_00',
'CAI_CUSTOMS_CLR_SUC_01' )
) AS 抵达目的港 ,
( SELECT TOP 1
TrackTime
FROM dbo.Log_TransportOrderTrack t WITH ( NOLOCK )
WHERE t.TransportOrderID = a.TransportOrderID
AND t.TrackCode IN ( 'OTMS_SENT_CITY_01' )
) AS 目的地清关时间 ,
( SELECT TOP 1
TrackTime
FROM dbo.Log_TransportOrderTrack t WITH ( NOLOCK )
WHERE t.TransportOrderID = a.TransportOrderID
AND t.TrackCode IN ( 'OTMS_DLV_ATTEMPT' )
) AS 首次派送时间 ,
( SELECT TOP 1
TrackTime
FROM dbo.Log_TransportOrderTrack t WITH ( NOLOCK )
WHERE t.TransportOrderID = a.TransportOrderID
AND t.TrackCode IN ( 'OTMS_SIGN_02' )
) AS 门店上架时间 ,
( SELECT TOP 1
TrackTime
FROM dbo.Log_TransportOrderTrack t WITH ( NOLOCK )
WHERE t.TransportOrderID = a.TransportOrderID
AND t.TrackCode IN ( 'CAI_SIGN_IN' )
) AS 签收时间 ,
( SELECT TOP 1
Descriptions
FROM dbo.Log_TransportOrderTrack t WITH ( NOLOCK )
WHERE t.TransportOrderID = a.TransportOrderID
ORDER BY t.TrackTime DESC
) AS 最新轨迹
FROM dbo.TWX_TransportOrder a WITH ( NOLOCK )
JOIN dbo.TWX_TransportFromMst c WITH ( NOLOCK ) ON c.TransportOrderID = a.TransportOrderID
LEFT JOIN dbo.Sys_LogisticsCompany b WITH ( NOLOCK ) ON a.InterDeliveryID = b.LogisticsID
WHERE a.TransportOrderID <> 0
AND a.TradeOrderID IN ()

原文地址:https://www.cnblogs.com/chengjun/p/8116881.html