Я запрашиваю ODBC через EXCEL, и мне удалось довести мое заявление до определенной стадии, но я хочу сделать еще один шаг вперед. Это потому, что я обнаружил, что если он будет одобрен, он также считается ожидающим. Итак, я собрал приведенное ниже утверждение, но оно продолжает давать отпор. Есть ли лучший способ, которым я должен вкладывать это утверждение SUM CAST CASE WHEN, так как мне нужно будет повторить это снова, но вместо подсчета я буду стремиться к СУММЕ дохода, который у меня в настоящее время есть только в одном большом сегменте.
SELECT
Company_0.CoaCompanyName
, SUM(CASE WHEN CAST( InvoiceCreditItem_0.IciInvoiceApproved as INT) IS 1 THEN 1) AS 'Approved'
ELSE SUM(CASE WHEN InvoiceCreditItem_0.InvoiceCreditID IS NULL THEN 1 ) AS 'Prepared'
ELSE SUM(CASE WHEN InvoiceCreditItem_0.InvoiceCreditID IS NOT NULL THEN 1 END) AS 'Pending'
, InvoiceCreditItem_0.IciCreatedDate
, SUM(InvoiceCreditItem_0.IciTotalNettValue) As 'Total Nett Value'
, SUM(InvoiceCreditItem_0.IciVatValue) AS 'VAT Value'
FROM
SBS.PUB.Company Company_0
, SBS.PUB.InvoiceCreditItem InvoiceCreditItem_0
WHERE
InvoiceCreditItem_0.CompanyID = Company_0.CompanyID
AND (Company_0.CoaCompanyName<>'ATOS')
AND InvoiceCreditItem_0.IciCreatedDate >= ?
GROUP BY
Company_0.CoaCompanyName
, InvoiceCreditItem_0.IciCreatedDate
То, что я сейчас вижу, это:
Approved Prepared Pending
1 0 1
1 0 3
0 1 0
1 1 0
Что я хочу увидеть
Approved Prepared Pending
1 0 0
1 0 2
0 1 0
1 1 0
Следующий этап, на котором я смотрю, это:
CASE WHEN InvoiceCreditItem_0.InvoiceCreditID IS NULL THEN SUM(InvoiceCreditItem_0.IciTotalNettValue) END) AS 'Prepared Value'
Что я ожидаю показать:
Approved Prepared Pending
0 1000 0