SELECT rowSet2.[1] AS 'MaterialId' ,rowSet2.[2] AS 'inRow' INTO #TMPMATERIALNUM FROM ( SELECT 1 ID,CAST(''+ REPLACE('{0}',';','') + '' AS XML) AS xmlVal ) AS valSet OUTER APPLY ( SELECT ROW_NUMBER() OVER (ORDER BY valSet.ID) RN ,CAST(''+ REPLACE(T.C.value('.','varchar(100)'),',','') + '' AS XML) xmlVal FROM valSet.xmlVal.nodes('/v') AS T(C) ) rowSet OUTER APPLY ( SELECT * FROM ( SELECT T.C.value('.','varchar(100)') AS xmlVal ,ROW_NUMBER() OVER (ORDER BY rowSet.RN) RowNo FROM rowSet.xmlVal.nodes('/v') AS T(C) ) TT PIVOT ( MAX(TT.xmlVal) FOR TT.RowNo IN ([1],[2])) TT2 ) rowSet2 SELECT CONVERT(int,tt0.inRow) AS inRow ,ISNULL(tt2.物料内码,0) AS '物料内码' ,ISNULL(tt2.含税单价,0) AS '含税单价' ,ISNULL(tt2.综合单价,0) AS '综合单价' ,ISNULL(tt2.默认税率,0) AS '默认税率' ,tt2.FBILLNO FROM #TMPMATERIALNUM tt0 OUTER APPLY ( SELECT TOP 1 t0e.FID ,t0e.FENTRYID ,t0.FBILLNO ,t0.F_QNV_TEXT2 ,t0e.F_QNV_BASE1 AS '物料内码' ,t0e.F_QNV_DECIMAL1 AS '含税单价' ,t0e.F_QNV_DECIMAL3 AS '综合单价' ,t0e.F_QNV_DATE2 AS '单价生效日期' ,t0e.F_QNV_DATE3 AS '单价失效日期' ,t1.FTAXRATE AS '默认税率' FROM QNV_t_Cust_Entry100003 t0 INNER JOIN QNV_t_Cust_Entry100004 t0e on t0.FID = t0e.FID INNER JOIN T_BD_TAXRATE t1 on t1.FID = t0e.F_QNV_BASE3 CROSS APPLY ( SELECT t3.FMATERIALID FROM T_BD_MATERIAL t2 INNER JOIN T_BD_MATERIAL t3 on t2.FMASTERID = t3.FMASTERID WHERE t2.FMATERIALID = tt0.MATERIALID AND t3.FMATERIALID = t0e.F_QNV_BASE1 ) tt1 WHERE 1 = 1 AND t0.FDOCUMENTSTATUS ='C' AND GETDATE() BETWEEN t0e.F_QNV_DATE2 AND t0e.F_QNV_DATE3 ORDER BY t0e.F_QNV_DATE2 DESC ) tt2 WHERE 1 = 1