1
This commit is contained in:
@@ -26,6 +26,10 @@
|
||||
<Compile Include="ZHIRONG.Report.DevelopmentCostDetails.py" />
|
||||
<Compile Include="调试.py" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="合计表.sql" />
|
||||
<Content Include="明细表.sql" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets" />
|
||||
<!-- Uncomment the CoreCompile target to enable the Build command in
|
||||
Visual Studio and specify your pre- and post-build commands in
|
||||
|
||||
6
ZHIRONG.Report/ZHIRONG.Report.pyproj.user
Normal file
6
ZHIRONG.Report/ZHIRONG.Report.pyproj.user
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
124
ZHIRONG.Report/合计表.sql
Normal file
124
ZHIRONG.Report/合计表.sql
Normal file
@@ -0,0 +1,124 @@
|
||||
|
||||
|
||||
ALTER PROCEDURE P_ReportDataSourceDetail
|
||||
(
|
||||
@FSTARTDATE NVARCHAR(50), --<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@FENDDATE NVARCHAR(50), --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@FACCTORGID INT, --<EFBFBD><EFBFBD>֯
|
||||
@FGROUP NVARCHAR(100) --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
)
|
||||
AS
|
||||
--ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD>
|
||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'T_ReportDataSourceDetail') AND type in (N'U'))
|
||||
BEGIN
|
||||
DROP TABLE T_ReportDataSourceDetail
|
||||
END
|
||||
--д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD>
|
||||
BEGIN
|
||||
SELECT *
|
||||
INTO #ColumnsNameTable
|
||||
FROM(
|
||||
SELECT
|
||||
T1.FENTRYID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>],
|
||||
CONCAT(ISNULL(T4.FNUMBER,''),'qazxsw/',ISNULL(T5.FDATAVALUE,'')) [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ],
|
||||
CAST(SUM(ROUND(T1.FAMOUNT,2)) AS FLOAT) [<EFBFBD><EFBFBD>λ<EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD>]
|
||||
--CONVERT(FLOAT,T1.FAMOUNT) [<EFBFBD><EFBFBD>λ<EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD>]
|
||||
FROM T_GL_VOUCHERENTRY T1
|
||||
JOIN T_GL_VOUCHER T2 ON T1.FVOUCHERID = T2.FVOUCHERID
|
||||
LEFT JOIN T_BD_FLEXITEMDETAILV T3 ON T3.FID = T1.FDETAILID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T4 ON T4.FMASTERID = T3.FF100004 and T4.FID = '605ae705c8ab2c' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T5 ON T4.FENTRYID = T5.FENTRYID AND T5.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_ACCOUNT T6 ON T6.FACCTID = T1.FACCOUNTID --<EFBFBD><EFBFBD>Ŀ
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T7 ON T7.FMASTERID = T6.F_GAT_GROUPID and T7.FID = '6859274cacb40b' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T8 ON T7.FENTRYID = T8.FENTRYID AND T8.FLOCALEID = 2052
|
||||
WHERE T8.FDATAVALUE IS NOT NULL
|
||||
AND T2.FDATE >= @FSTARTDATE
|
||||
AND T2.FDATE <= @FENDDATE
|
||||
AND T2.FACCTORGID = @FACCTORGID
|
||||
AND (T7.FMASTERID = @FGROUP OR 1 = CASE WHEN @FGROUP IS NULL OR @FGROUP = '' THEN 1 ELSE 0 END)
|
||||
AND T1.FVOUCHERID NOT IN (SELECT FVOUCHERID FROM T_GL_VOUCHERENTRY WHERE FEXPLANATION = '<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GROUP BY T1.FENTRYID,CONCAT(ISNULL(T4.FNUMBER,''),'qazxsw/',ISNULL(T5.FDATAVALUE,''))
|
||||
UNION ALL
|
||||
SELECT
|
||||
T1.FENTRYID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>],
|
||||
'ƾ֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'[<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ],
|
||||
CAST(SUM(ROUND(T1.FAMOUNT,2)) AS FLOAT) [<EFBFBD><EFBFBD>λ<EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD>]
|
||||
FROM T_GL_VOUCHERENTRY T1
|
||||
JOIN T_GL_VOUCHER T2 ON T1.FVOUCHERID = T2.FVOUCHERID
|
||||
LEFT JOIN T_BD_FLEXITEMDETAILV T3 ON T3.FID = T1.FDETAILID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T4 ON T4.FMASTERID = T3.FF100004 and T4.FID = '605ae705c8ab2c' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T5 ON T4.FENTRYID = T5.FENTRYID AND T5.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_ACCOUNT T6 ON T6.FACCTID = T1.FACCOUNTID --<EFBFBD><EFBFBD>Ŀ
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T7 ON T7.FMASTERID = T6.F_GAT_GROUPID and T7.FID = '6859274cacb40b' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T8 ON T7.FENTRYID = T8.FENTRYID AND T8.FLOCALEID = 2052
|
||||
WHERE T8.FDATAVALUE IS NOT NULL
|
||||
AND T2.FDATE >= @FSTARTDATE
|
||||
AND T2.FDATE <= @FENDDATE
|
||||
AND T2.FACCTORGID = @FACCTORGID
|
||||
AND (T7.FMASTERID = @FGROUP OR 1 = CASE WHEN @FGROUP IS NULL OR @FGROUP = '' THEN 1 ELSE 0 END)
|
||||
AND T1.FVOUCHERID NOT IN (SELECT FVOUCHERID FROM T_GL_VOUCHERENTRY WHERE FEXPLANATION = '<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GROUP BY T1.FENTRYID
|
||||
)a
|
||||
|
||||
---ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
|
||||
DECLARE @Columns AS NVARCHAR(MAX), @SQL AS NVARCHAR(MAX),@Columns1 NVARCHAR(MAX);
|
||||
SELECT @Columns = STUFF(
|
||||
(
|
||||
SELECT ',' + QUOTENAME([<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ])
|
||||
FROM (
|
||||
SELECT [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ] as [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ]
|
||||
FROM (
|
||||
SELECT DISTINCT [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ]
|
||||
FROM #ColumnsNameTable
|
||||
)b
|
||||
)a ORDER BY [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ] DESC FOR XML PATH ('')
|
||||
), 1, 1, ''
|
||||
)
|
||||
|
||||
|
||||
--print @Columns
|
||||
SET @Columns1 = REPLACE(REPLACE(@Columns,']]',']'),'amp;','')
|
||||
SELECT @Columns = STUFF(
|
||||
(
|
||||
SELECT ',' + QUOTENAME([<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ])
|
||||
FROM (
|
||||
SELECT 'ISNULL('+FID+',0) AS'+FID AS [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ]
|
||||
FROM (
|
||||
SELECT * from fn_StrSplit(@Columns,',')
|
||||
)b
|
||||
)a FOR XML PATH ('')
|
||||
), 1, 1, ''
|
||||
)
|
||||
SET @Columns = REPLACE(REPLACE(REPLACE(REPLACE(@Columns,']]',']'),']]',']'),'[ISNULL','ISNULL'),'amp;','')
|
||||
|
||||
SET @SQL = N'
|
||||
SELECT T8.FDATAVALUE [<5B><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>],T5.FNAME [<5B><>֯],FORMAT(T3.FDATE,''yyyy-MM-dd'') [<5B><><EFBFBD><EFBFBD>],T3.FVOUCHERGROUPNO [ƾ֤<C6BE><D6A4>],T2.FEXPLANATION [ժҪ],T4.FNAME [<5B><>Ŀ],T1.*
|
||||
INTO T_ReportDataSourceDetail
|
||||
FROM (
|
||||
SELECT [<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>],' + @Columns + N'
|
||||
FROM (SELECT * FROM #ColumnsNameTable) AS SourceTable
|
||||
PIVOT (SUM([<5B><>λ<EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>])
|
||||
FOR [<5B>з<EFBFBD><D0B7><EFBFBD>Ŀ] IN (' + @Columns1 + N')) AS PivotTable
|
||||
)T1
|
||||
LEFT JOIN T_GL_VOUCHERENTRY T2 ON T1.[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = T2.FENTRYID
|
||||
LEFT JOIN T_GL_VOUCHER T3 ON T2.FVOUCHERID = T3.FVOUCHERID
|
||||
LEFT JOIN T_BD_ACCOUNT_L T4 ON T4.FACCTID = T2.FACCOUNTID
|
||||
LEFT JOIN T_ORG_Organizations_L T5 ON T5.FORGID = T3.FACCTORGID AND T5.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_ACCOUNT T6 ON T6.FACCTID = T4.FACCTID
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T7 ON T7.FMASTERID = T6.F_GAT_GROUPID and T7.FID = ''6859274cacb40b''
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T8 ON T7.FENTRYID = T8.FENTRYID AND T8.FLOCALEID = 2052'
|
||||
|
||||
--print @SQL
|
||||
EXEC sp_executesql @SQL;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'T_ReportDataSourceDetail') AND type in (N'U'))
|
||||
BEGIN
|
||||
SELECT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' [<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>],'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' [<EFBFBD><EFBFBD>֯], '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>],'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' [ƾ֤<EFBFBD><EFBFBD>],'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' [ժҪ],'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' [<EFBFBD><EFBFBD>Ŀ] INTO T_ReportDataSourceDetail
|
||||
END
|
||||
|
||||
DROP TABLE #ColumnsNameTable
|
||||
END
|
||||
|
||||
--SELECT * FROM T_ReportDataSourceDetail
|
||||
|
||||
--EXEC P_ReportDataSourceDetail 2025, 1, 333602, '685927c4acb40d'
|
||||
115
ZHIRONG.Report/明细表.sql
Normal file
115
ZHIRONG.Report/明细表.sql
Normal file
@@ -0,0 +1,115 @@
|
||||
|
||||
|
||||
ALTER PROCEDURE P_ReportDataSource
|
||||
(
|
||||
@FSTARTDATE NVARCHAR(50), --<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@FENDDATE NVARCHAR(50), --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@FACCTORGID INT,--<EFBFBD><EFBFBD>֯
|
||||
@FUNIT INT --<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>Ԫ/<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>
|
||||
)
|
||||
AS
|
||||
--ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD>
|
||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'T_ReportDataSource') AND type in (N'U'))
|
||||
BEGIN
|
||||
DROP TABLE T_ReportDataSource
|
||||
END
|
||||
--д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD>
|
||||
BEGIN
|
||||
SELECT *
|
||||
INTO #ColumnsNameTable
|
||||
FROM(
|
||||
SELECT
|
||||
T8.FDATAVALUE [<EFBFBD><EFBFBD>Ŀ],
|
||||
CONCAT(ISNULL(T4.FNUMBER,''),'qazxsw/',ISNULL(T5.FDATAVALUE,'')) [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ],
|
||||
CAST(SUM(ROUND(T1.FAMOUNT/@FUNIT,2)) AS FLOAT) [<EFBFBD><EFBFBD>λ<EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD>]
|
||||
--CONVERT(FLOAT,T1.FAMOUNT) [<EFBFBD><EFBFBD>λ<EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD>]
|
||||
FROM T_GL_VOUCHERENTRY T1
|
||||
JOIN T_GL_VOUCHER T2 ON T1.FVOUCHERID = T2.FVOUCHERID
|
||||
LEFT JOIN T_BD_FLEXITEMDETAILV T3 ON T3.FID = T1.FDETAILID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T4 ON T4.FMASTERID = T3.FF100004 and T4.FID = '605ae705c8ab2c' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T5 ON T4.FENTRYID = T5.FENTRYID AND T5.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_ACCOUNT T6 ON T6.FACCTID = T1.FACCOUNTID --<EFBFBD><EFBFBD>Ŀ
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T7 ON T7.FMASTERID = T6.F_GAT_GROUPID and T7.FID = '6859274cacb40b' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T8 ON T7.FENTRYID = T8.FENTRYID AND T8.FLOCALEID = 2052
|
||||
WHERE T8.FDATAVALUE IS NOT NULL
|
||||
AND T2.FDATE >= @FSTARTDATE
|
||||
AND T2.FDATE <= @FENDDATE
|
||||
AND T2.FACCTORGID = @FACCTORGID
|
||||
AND T1.FVOUCHERID NOT IN (SELECT FVOUCHERID FROM T_GL_VOUCHERENTRY WHERE FEXPLANATION = '<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GROUP BY T8.FDATAVALUE,CONCAT(ISNULL(T4.FNUMBER,''),'qazxsw/',ISNULL(T5.FDATAVALUE,''))
|
||||
UNION ALL
|
||||
SELECT
|
||||
T8.FDATAVALUE [<EFBFBD><EFBFBD>Ŀ],
|
||||
'<EFBFBD>ϼ<EFBFBD>'[<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ],
|
||||
CAST(SUM(ROUND(T1.FAMOUNT/@FUNIT,2)) AS FLOAT) [<EFBFBD><EFBFBD>λ<EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD>]
|
||||
FROM T_GL_VOUCHERENTRY T1
|
||||
JOIN T_GL_VOUCHER T2 ON T1.FVOUCHERID = T2.FVOUCHERID
|
||||
LEFT JOIN T_BD_FLEXITEMDETAILV T3 ON T3.FID = T1.FDETAILID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD>
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T4 ON T4.FMASTERID = T3.FF100004 and T4.FID = '605ae705c8ab2c' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T5 ON T4.FENTRYID = T5.FENTRYID AND T5.FLOCALEID = 2052
|
||||
LEFT JOIN T_BD_ACCOUNT T6 ON T6.FACCTID = T1.FACCOUNTID --<EFBFBD><EFBFBD>Ŀ
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY T7 ON T7.FMASTERID = T6.F_GAT_GROUPID and T7.FID = '6859274cacb40b' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LEFT JOIN T_BAS_ASSISTANTDATAENTRY_L T8 ON T7.FENTRYID = T8.FENTRYID AND T8.FLOCALEID = 2052
|
||||
WHERE T8.FDATAVALUE IS NOT NULL
|
||||
AND T2.FDATE >= @FSTARTDATE
|
||||
AND T2.FDATE <= @FENDDATE
|
||||
AND T2.FACCTORGID = @FACCTORGID
|
||||
AND T1.FVOUCHERID NOT IN (SELECT FVOUCHERID FROM T_GL_VOUCHERENTRY WHERE FEXPLANATION = '<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GROUP BY T8.FDATAVALUE
|
||||
)a
|
||||
|
||||
---ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
|
||||
DECLARE @Columns AS NVARCHAR(MAX), @SQL AS NVARCHAR(MAX),@Columns1 NVARCHAR(MAX);
|
||||
SELECT @Columns = STUFF(
|
||||
(
|
||||
SELECT ',' + QUOTENAME([<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ])
|
||||
FROM (
|
||||
SELECT [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ] as [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ]
|
||||
FROM (
|
||||
SELECT DISTINCT [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ]
|
||||
FROM #ColumnsNameTable
|
||||
)b
|
||||
)a ORDER BY [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ] FOR XML PATH ('')
|
||||
), 1, 1, ''
|
||||
)
|
||||
|
||||
|
||||
--print @Columns
|
||||
SET @Columns1 = REPLACE(REPLACE(@Columns,']]',']'),'amp;','')
|
||||
SELECT @Columns = STUFF(
|
||||
(
|
||||
SELECT ',' + QUOTENAME([<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ])
|
||||
FROM (
|
||||
SELECT 'ISNULL('+FID+',0) AS'+FID AS [<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ŀ]
|
||||
FROM (
|
||||
SELECT * from fn_StrSplit(@Columns,',')
|
||||
)b
|
||||
)a FOR XML PATH ('')
|
||||
), 1, 1, ''
|
||||
)
|
||||
SET @Columns = REPLACE(REPLACE(REPLACE(REPLACE(@Columns,']]',']'),']]',']'),'[ISNULL','ISNULL'),'amp;','')
|
||||
|
||||
SET @SQL = N'
|
||||
SELECT T1.*
|
||||
INTO T_ReportDataSource
|
||||
FROM (
|
||||
SELECT [<5B><>Ŀ],' + @Columns + N'
|
||||
FROM (SELECT * FROM #ColumnsNameTable) AS SourceTable
|
||||
PIVOT (SUM([<5B><>λ<EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>])
|
||||
FOR [<5B>з<EFBFBD><D0B7><EFBFBD>Ŀ] IN (' + @Columns1 + N')) AS PivotTable
|
||||
)T1'
|
||||
|
||||
--print @SQL
|
||||
EXEC sp_executesql @SQL;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'T_ReportDataSource') AND type in (N'U'))
|
||||
BEGIN
|
||||
SELECT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' [<EFBFBD><EFBFBD>Ŀ] INTO T_ReportDataSource
|
||||
END
|
||||
|
||||
DROP TABLE #ColumnsNameTable
|
||||
END
|
||||
|
||||
--SELECT * FROM T_ReportDataSource
|
||||
|
||||
--EXEC P_ReportDataSource 2025,7,1,10000
|
||||
Reference in New Issue
Block a user