0

ケースに Brutobedrag という別名を付けたいのですが、うまくいきません。

SELECT     
    Invoices.InvoiceNr AS Factuurnummer, 
    case(Invoices.IsDebit)
        when 0 then -1*(Invoices.NetAmount + Invoices.BTW + COALESCE (Invoices.BPM, 0)) 
        else Invoices.NetAmount + Invoices.BTW + COALESCE (Invoices.BPM, 0)
    end 
from
    Brands INNER JOIN
    Invoices ON Brands.Id = Invoices.Brand INNER JOIN
    SalesPersons ON Invoices.SalesPerson = SalesPersons.Id LEFT OUTER JOIN
    Payments ON Invoices.Id = Payments.InvoiceId

where
    Invoices.InvoiceDate > '2011-12-31'

group by
    Invoices.InvoiceNr,
    Invoices.NetAmount,
    invoices.BTW,
    invoices.BPM,
    Invoices.IsDebit
4

2 に答える 2

0

その「BC」の場合

SELECT ( CASE 'BC' WHEN 'BC' THEN 1 WHEN 'AC' THEN 4 WHEN 'CL' THEN 3 ELSE ' ' END ) UNION (SELECT (CASE 'BC' WHEN 'BC' THEN 2 ELSE ' ' END)) UNION (SELECT (CASE 'BC' WHEN 'BC' THEN 22 ELSE ' ' END)) UNION (SELECT (CASE 'BC' WHEN 'BC' THEN 24 ELSE ' ' END)) UNION (SELECT (CASE 'BC' WHEN 'BC ' THEN 5 ELSE ' ' END))

ANS:1 2 5 22 24

場合によっては、単一の条件で複数の値を取得するためにフルに使用されます

于 2014-01-03T13:43:30.277 に答える
0
case when Invoices.IsDebit = 0 
     then -1*(Invoices.NetAmount + Invoices.BTW + COALESCE (Invoices.BPM, 0)) 
     else Invoices.NetAmount + Invoices.BTW + COALESCE (Invoices.BPM, 0)
end as Brutobedrag 
于 2013-09-27T10:56:53.787 に答える