57 lines
1.8 KiB
SQL
57 lines
1.8 KiB
SQL
SELECT
|
|
rowSet2.[1] AS 'MaterialId'
|
|
,rowSet2.[2] AS 'inRow'
|
|
INTO #TMPMATERIALNUM
|
|
FROM (
|
|
SELECT 1 ID,CAST('<v>'+ REPLACE('{0}',';','</v><v>') + '</v>' AS XML) AS xmlVal
|
|
) AS valSet
|
|
OUTER APPLY (
|
|
SELECT ROW_NUMBER() OVER (ORDER BY valSet.ID) RN
|
|
,CAST('<v>'+ REPLACE(T.C.value('.','varchar(100)'),',','</v><v>') + '</v>' 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
|