SQL_ 嵌套查询

今天写一个查询语句,需要查询CODE、总数量、发货量、未发货量,需要用嵌套查询 在此记录下语法SQL功底有待提升

--查询  嵌套
select T.Code,T.DeliveryCount,T.TotleCount,T.TotleCount-T.DeliveryCount as NoDelivery from(

SELECT   dbo.[Order].Code, COUNT(dbo.Courier.CourierCode1) AS DeliveryCount, COUNT(dbo.Courier.CourierID) 
                AS TotleCount
FROM      dbo.Courier INNER JOIN
                dbo.OrderSub ON dbo.Courier.OrderSubID = dbo.OrderSub.OrderSubID INNER JOIN
                dbo.[Order] ON dbo.OrderSub.OrderID = dbo.[Order].OrderID
WHERE   (dbo.[Order].ReceiverTEL = ' 电话' AND (dbo.[Order].IsRefund = 0) OR
                (dbo.[Order].IsRefund = 0) AND (dbo.[Order].BuyerPhone = '电话')
GROUP BY dbo.[Order].Code
)
as T


select T.Code,T.DeliveryCount,T.TotleCount,T.TotleCount-T.DeliveryCount as NoDelivery,T.OrderID ,T.ReceiverProvince,
T.ReceiverCity,T.ReceiverDistrict,T.ReceiverAddress
from(

SELECT   dbo.[Order].Code, COUNT(dbo.Courier.CourierCode1) AS DeliveryCount, COUNT(dbo.Courier.CourierID) 
                AS TotleCount,[Order].OrderID,[Order].ReceiverDistrict,[Order].ReceiverAddress,[Order].ReceiverCity,[Order].ReceiverProvince
				
FROM      dbo.Courier INNER JOIN
                dbo.OrderSub ON dbo.Courier.OrderSubID = dbo.OrderSub.OrderSubID INNER JOIN
                dbo.[Order] ON dbo.OrderSub.OrderID = dbo.[Order].OrderID
WHERE   (dbo.[Order].ReceiverTEL = '电话') AND (dbo.[Order].IsRefund = 0) OR
                (dbo.[Order].IsRefund = 0) AND (dbo.[Order].BuyerPhone = '电话')
GROUP BY dbo.[Order].Code,[Order].OrderID,
[Order].ReceiverAddress,
[Order].ReceiverCity,
[Order].ReceiverDistrict,
[Order].ReceiverProvince
)
as T
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值