嵌套的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 ()
嵌套的SQL另外一种写法的更多相关文章
- 在Oracle中执行动态SQL的几种方法
转载:在Oracle中执行动态SQL的几种方法 以下为内容留存: 在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如:SELECT t.empno,t.en ...
- sql语句有几种写法
sql语句有几种写法 1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数: 2:SELECT *FROM `table` WHERE i ...
- sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂)
sql for xml 还有一种写法(採用 tag 与 union all,简洁易懂) 測试环境:sql 08, 08 R2, 2010, 2012, 2014 等 declare @agent t ...
- Sql语句模糊查询字符串的两种写法
Sql语句模糊查询有两种写法,一种是在jdbcTemplate的查询方法参数里拼接字符串%,一种是在Sql语句里拼接%字符串. public class IsNameDaoImpl implement ...
- ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法
ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块 --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...
- EF架构~linq模拟left join的两种写法,性能差之千里!
回到目录 对于SQL左外连接我想没什么可说的,left join将左表数据都获出来,右表数据如果在左表中不存在,结果为NULL,而对于LINQ来说,要实现left join的效果,也是可以的,在进行j ...
- oracle if/else功能的实现的3种写法
转载:oracle中if/else功能的实现的3种写法 以下是内容留存: 1.标准sql规范 一.单个IF . if a=... then ......... end if; . if a=... t ...
- 关于MyBatis的两种写法
刚接触MyBatis是在Jike的视频中学习的,但是之后又发现和项目中的MyBatis的用法不太一致.上网找了好多资料,发现网上的教程分为两种写法: 第一种,是jike视频中的写法,写好map.xml ...
- 茴香豆的“茴”有四种写法,Python的格式化字符串也有
茴香豆的"茴"有四种写法,Python的格式化字符串也有 茴香豆的"茴"有四种写法,Python的格式化字符串也有 被低估的断言 多一个逗号,少一点糟心事 上下 ...
随机推荐
- 【BZOJ4421】[Cerc2015] Digit Division 动态规划
[BZOJ4421][Cerc2015] Digit Division Description 给出一个数字串,现将其分成一个或多个子串,要求分出来的每个子串能Mod M等于0. 将方案数(mod 1 ...
- group_concat 多对多关联, 统计分组数据, 结果拼接到一个字段
统计用户所有的角色, 结果: 1 张三 普通用户,管理员,XXX 2 李四 普通用户, XXX select ur.user_id,u.login_name,GROUP_CONCAT ...
- 关于修改react的启动端口
在package.json文件里面,加一个port端口号就ok了
- SQL Server常用函数汇总
1.day(date) 用途:获取日期是所在月的几号 参数:date是一个可以解析为 time.date.smalldatetime.datetime.datetime2 或 datetime ...
- squid3认证配置
在使用squid3的时候为了安全我们通常添加基于账号密码的认证方便管理也防止被检测 1. 密码文件准备 密码配置我们使用htpasswd配置,htpasswd可以自己安装如果找不到就直接安装apach ...
- REST Representational state transfer REST Resource Naming Guide Never use CRUD function names in URIs
怎样用通俗的语言解释什么叫 REST,以及什么是 RESTful? - 知乎 https://www.zhihu.com/question/28557115 大家都知道"古代"网 ...
- css3的3d属性集合
css3的3d属性集合 想进入css3的3d世界必须知道一下几个属性及其用法. 当然在进入属性介绍之前我想你必须知道3维坐标,附上一张经典图如下: 我想不用解释了吧.之后要平移和旋转都是在这个基础之上 ...
- 中间件MQ选型要点
转载自: https://www.cnblogs.com/doit8791/p/10227474.html 参考: http://www.52im.net/thread-1647-1-1.html ...
- > >> 将错误输出到文件
将错误输出到文件 转载:https://blog.csdn.net/woshinia/article/details/18040063 1.覆盖写入: echo "日志内容" & ...
- screenX clientX pageX区别
screenX:鼠标位置相对于用户屏幕水平偏移量,而screenY也就是垂直方向的,此时的参照点也就是原点是屏幕的左上角. clientX:跟screenX相比就是将参照点改成了浏览器内容区域的左上角 ...