DECLARE @period int DECLARE @dbName varchar(100) DECLARE @ACCTGORGID int DECLARE @billNo varchar(100) SET @ACCTGORGID = 100039 SET @period = 201801 SET @billNo = 'MO000019' SELECT @dbName = DB_NAME() IF @dbName != 'AIS20231110222743' BEGIN SET @period = 202305 SET @ACCTGORGID = 1 SET @billNo = 'WO2403210039' --SET @billNo = 'WO2403210048' --SET @billNo = 'WO2304230023' --SET @billNo = 'WO2405290121' --SET @billNo = 'WO2406220013' --SET @billNo = 'TO2302060061' END ;WITH #初始数据 AS ( SELECT t0.FPRODUCTNO ,t0.FBILLID ,t0.FBILLENTRYID ,t0.FPRODUCTID ,t0.FFORMID ,t1.FPRODUCTDIMEID ,t3.FMATERIALID ,t3.FEXPTYPE ,SUM(t3.FQUALIFIEDINQTY) 'FQUALIFIEDINQTY',SUM(t3.FQUALIFIEDINAMOUNT) 'FQUALIFIEDINQTY' ,t3.FCURRINPUTQTY,t3.FCURRINPUTAMOUNT ,MAX(t2.FYEAR * 100 + t2.FPERIOD) AS 'FPERIOD' FROM T_CB_PROORDERDIME t0 INNER JOIN V_CB_PROORDERINFO t1 on t1.FPRODUCTDIMEID = t0.FPRODUCTDIMEID INNER JOIN V_HS_OUTACCTG t2 on t1.FACCTGID = t2.FID INNER JOIN V_CB_COSTMATTERIAL t3 on t3.FID = t1.FID WHERE 1 = 1 AND t0.FPRODUCTNO = @billNo AND t2.FACCTGORGID = @ACCTGORGID AND t2.FCOMPUTEID != '' AND t1.FENDINITKEY = 1 GROUP BY t0.FPRODUCTNO ,t0.FBILLID,t0.FBILLENTRYID ,t0.FPRODUCTID,t0.FFORMID ,t1.FPRODUCTDIMEID ,t3.FMATERIALID,t3.FEXPTYPE ) SELECT * FROM #初始数据