嵌套的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的格式化字符串也有 被低估的断言 多一个逗号,少一点糟心事 上下 ...
随机推荐
- 【BZOJ4624】农场种植 FFT
[BZOJ4624]农场种植 Description 农夫约翰想要在一片巨大的土地上建造一个新的农场. 这块土地被抽象为个 R*C 的矩阵.土地中的每个方格都可以用来生产一种食物:谷物(G)或者是牲畜 ...
- mybatis的dao的注解
import com.jianwu.domain.metting.model.CallPreMember;import com.jianwu.domain.metting.model.CallPreM ...
- POJ 3020 Antenna Placement【二分匹配——最小路径覆盖】
链接: http://poj.org/problem?id=3020 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...
- 深入理解Java内存模型之系列篇
深入理解Java内存模型(一)——基础 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体).通信是指线程之间以何种机制来 ...
- module使用
官方文档:http://modules.sourceforge.net/ 加载 module load 卸载 module unload 查看已加载 module list 查看可用 module a ...
- 浅谈 Python 的 with 语句(转)
add by zhj: 上下文管理器是对try-except-finally的再封装而已,只能算是优化代码这一级别的feature 原文:http://www.ibm.com/developerwor ...
- django--admin模型层
django amdin是django提供的一个后台管理页面,改管理页面提供完善的html和css,使得你在通过Model创建完数据库表之后,就可以对数据进行增删改查,而使用django admin ...
- 我的Android进阶之旅------>Android自定义View实现带数字的进度条(NumberProgressBar)
今天在Github上面看到一个来自于 daimajia所写的关于Android自定义View实现带数字的进度条(NumberProgressBar)的精彩案例,在这里分享给大家一起来学习学习!同时感谢 ...
- 001-前端系列-react系列
一.概述 原文地址:http://www.ruanyifeng.com/blog/2016/09/react-technology-stack.html 二.摘要 ES6 语法:教程 [可以了解] B ...
- JSP使用网站访问人数统计功能,方法与技巧
实现网站访问人数统计功能的步骤: 创建静态登录页面,并指定表单提交由登录处理页面进行处理. 创建登录处理页面获得登录信息,查询数据库,判断该用户是否注册,如果该用户已注册,把已登录用户的信息保存在一个 ...