Ich arbeite im Finanzbereich eines Unternehmens und möchte Daten von unserem Server (SQL) extrahieren, um Berichte für Board zusammenzustellen.Excel Query - ungültige Anzahl der Parameter und ungültige Descriptor Index Fehler
Also habe ich mehrere Excel-Datei, wo ich Excel-Abfrage verwenden, um Daten zu retreive und Präsentationen zu machen.
Ich habe meine Abfragen aktualisiert und ein Hindernis mit dieser getroffen.
Es war die Arbeit mit diesem Stück Code fein: SELECT
INTERNAL_REFERENCE as ref,
CMP_CODE AS CMP_CODE,
COUNTERPARTY_CODE AS BANK_CODE,
TRANSACTION_CODE AS TRANS_CODE,
CAST(CONVERT(varchar(10), AMO_END_DATE, 110) AS datetime) AS DATE,
SUM([AMORTIZATION]) AS AMOUNT
FROM
[SAGE_MTC_FRP].[dbo].[LOAN_SCHEDULE] inner join [SAGE_MTC_FRP].[dbo]. [LOANS]
on [SAGE_MTC_FRP].[dbo].[LOAN_SCHEDULE].LOAN_ID=[SAGE_MTC_FRP].[dbo]. [LOANS].LOAN_ID
WHERE
(AMO_END_DATE>=?) AND (BOOK_DATE<?) AND
(TRANSACTION_CODE<>'CPCA' AND TRANSACTION_CODE<>'CPCF' AND TRANSACTION_CODE<>'RENT') AND
IS_DELETED=0 AND VERSION_NUMBER=1 AND CMP_CODE='MTG'
GROUP BY
INTERNAL_REFERENCE, CMP_CODE, COUNTERPARTY_CODE, TRANSACTION_CODE, AMO_END_DATE
Aber wenn ich die gesamten Code mit der Union alle setzen, es bläst mit diesem 2x Fehler auf:
Problem: ungültig Anzahl der Parameter
ungültig Deskriptorindex
Code:
SELECT * FROM
(
SELECT
INTERNAL_REFERENCE as ref,
CMP_CODE AS CMP_CODE,
COUNTERPARTY_CODE AS BANK_CODE,
TRANSACTION_CODE AS TRANS_CODE,
CAST(CONVERT(varchar(10), AMO_END_DATE, 110) AS datetime) AS DATE,
SUM([AMORTIZATION]) AS AMOUNT
FROM
[SAGE_MTC_FRP].[dbo].[LOAN_SCHEDULE] inner join [SAGE_MTC_FRP].[dbo]. [LOANS]
on [SAGE_MTC_FRP].[dbo].[LOAN_SCHEDULE].LOAN_ID=[SAGE_MTC_FRP].[dbo]. [LOANS].LOAN_ID
WHERE
(AMO_END_DATE>=?) AND (BOOK_DATE<?) AND
(TRANSACTION_CODE<>'CPCA' AND TRANSACTION_CODE<>'CPCF' AND TRANSACTION_CODE<>'RENT') AND
IS_DELETED=0 AND VERSION_NUMBER=1 AND CMP_CODE='MTG'
GROUP BY
INTERNAL_REFERENCE, CMP_CODE, COUNTERPARTY_CODE, TRANSACTION_CODE, AMO_END_DATE
UNION ALL
SELECT
CL_CODE as ref
,LEFT([ACC_CODE] , 3) AS CMP_CODE
,[COUNTERPARTY_CODE] AS BANK_CODE
,RIGHT([CL_DESCRIPTION] , 3) AS TRANS_CODE
,CAST(CONVERT(varchar(10), [END_DATE], 110) AS datetime) AS DATE
,[CL_AMOUNT] AS AMOUNT
FROM
[SAGE_MTC_FRP].[dbo].[CREDIT_LINES]
WHERE
(END_DATE>?) AND
RIGHT([CL_DESCRIPTION] , 3)='PPC'
) AS DATA
ORDER BY REF