----1.开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句: --exec sp_configure 'show advanced options',1 --reconfigure --exec sp_configure 'Ad Hoc Distributed Queries',1 --reconfigure ----2.关闭Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句: --exec sp_configure 'Ad Hoc Distributed Queries',0 --reconfigure --exec sp_configure 'show advanced options',0 --reconfigure --SELECT * FROM 税收分类编码导入EXCEL --把excel数据导入数据库 --DROP TABLE 销售订单_2024052116060442_100015 --;WITH #table1 AS ( -- SELECT * -- --INTO 销售订单_2024052116060442_100015 -- FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' -- ,'Excel 12.0;HDR=Yes;IMEX=2;DATABASE=C:\Users\Fareoh\Downloads\销售订单_2024052116134531_100015_2.xlsx' -- ,'SELECT * FROM [Sheet1$]') -- WHERE 订单日期 != '合计' --) --,#table2 AS ( -- SELECT [订单日期],[单据类型] -- ,REPLACE(LTRIM(RTRIM([销售订单号])),CAST(0x0900 AS varchar(20)),'') AS 销售订单号 -- ,REPLACE(LTRIM(RTRIM([源销售订单号])),CAST(0x0900 AS varchar(20)),'') AS 源销售订单号 -- ,[客户],[物料编码],[物料名称],[销售单位],[销售数量],[单价],[含税单价],[税率%],[金额],[价税合计],[金额(本位币)],[价税合计(本位币)] -- ,[单据状态],[关闭状态],[业务关闭],[发货状态],[业务终止],[累计发货通知数量],[累计出库数量],[累计退货数量(销售)] -- ,[F25],[累计应收数量(销售)],[先开票数量(计价基本)],[订货单位(办事处)],[客户编码],[是否安装],[要货日期], [是否调账] -- FROM #table1 --) --SELECT ROW_NUMBER() OVER(ORDER BY 销售订单号) ID,[订单日期],[单据类型],销售订单号,源销售订单号 -- ,[客户],[物料编码],[物料名称],[销售单位],[销售数量],[单价],[含税单价],[税率%],[金额],[价税合计],[金额(本位币)],[价税合计(本位币)] -- ,[单据状态],[关闭状态],[业务关闭],[发货状态],[业务终止],[累计发货通知数量],[累计出库数量],[累计退货数量(销售)] -- ,[F25],[累计应收数量(销售)],[先开票数量(计价基本)],[订货单位(办事处)],[客户编码],[是否安装],[要货日期],[是否调账] -- INTO 销售订单_2024052116060442_100015 --FROM #table2 WITH #table1 AS( SELECT * FROM 销售订单_2024052116060442_100015 t0 WHERE 1= 1 AND NOT EXISTS ( SELECT 1 FROM 销售订单_2024052116060442_100015 t1 WHERE t1.源销售订单号 = t0.销售订单号 AND t1.销售订单号 != t0.销售订单号) AND t0.单据类型 != '退货订单' --AND t0.源销售订单号 = 'FB20211807-60' ) , #table2 AS ( SELECT DENSE_RANK() OVER( ORDER BY t0.源销售订单号) RN ,DENSE_RANK() OVER(PARTITION BY t0.源销售订单号 ORDER BY t0.销售订单号) DR ,* FROM #table1 t0 ) ,#table3 AS ( SELECT t0.ID,t0.RN,SUM(t0.销售数量) AS '销售总数量' FROM #table2 t0 INNER JOIN ( SELECT RN,MAX(DR) DR FROM #table2 t1 GROUP BY t1.RN ) t1 on t1.DR = t0.DR AND t1.RN = t0.RN GROUP BY t0.ID,t0.RN ) --SELECT t0.单据类型 FROM 销售订单_2024052116060442_100015 t0 GROUP BY t0.单据类型 SELECT [订单日期],[单据类型],销售订单号,源销售订单号,ISNULL(t1.销售总数量,'') AS '销售总数量' ,[客户],[物料编码],[物料名称],[销售单位],[销售数量],[单价],[含税单价],[税率%],[金额],[价税合计],[金额(本位币)],[价税合计(本位币)] ,[单据状态],[关闭状态],[业务关闭],[发货状态],[业务终止],[累计发货通知数量],[累计出库数量],[累计退货数量(销售)] ,[F25],[累计应收数量(销售)],[先开票数量(计价基本)],[订货单位(办事处)],[客户编码],[是否安装],[要货日期],[是否调账] FROM 销售订单_2024052116060442_100015 t0 LEFT JOIN #table3 t1 on t0.ID = t1.ID WHERE 1=1 --AND t0.源销售订单号 = 'FB20211807-60' AND t0.单据类型 = '退货订单' ORDER BY t0.销售订单号,t0.物料编码