Files
GateDge2023_ljy/02.珠海市供水有限公司/ZHSW.Python/PUR_Requisition/sql/获取合同年度单价.sql

57 lines
1.8 KiB
MySQL
Raw Normal View History

2024-05-15 13:56:09 +08:00
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.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(tt2.<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(tt2.<EFBFBD>ۺϵ<EFBFBD><EFBFBD><EFBFBD>,0) AS '<EFBFBD>ۺϵ<EFBFBD><EFBFBD><EFBFBD>'
,ISNULL(tt2.Ĭ<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>,0) AS 'Ĭ<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>'
,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 '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0e.F_QNV_DECIMAL1 AS '<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0e.F_QNV_DECIMAL3 AS '<EFBFBD>ۺϵ<EFBFBD><EFBFBD><EFBFBD>'
,t0e.F_QNV_DATE2 AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0e.F_QNV_DATE3 AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧЧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t1.FTAXRATE AS 'Ĭ<EFBFBD><EFBFBD>˰<EFBFBD><EFBFBD>'
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