Ich habe diese Abfrage, wo ich denke, mein Zustand ist wahr, aber irgendwie gibt es falsche Ausgabe.Unter Case-Anweisung else Teil gibt falsche Ausgabe
SELECT CASE WHEN j.DocTypeID=0 AND CreditOrDebit = 'd' THEN SecDebit END AS 'debit',
CASE WHEN j.DocTypeID=0 AND CreditOrDebit = 'c' THEN SecCredit END AS 'credit',docdate,DATEDIFF(d,DocDate, GETDATE()) AS days,
CASE WHEN DATEDIFF(d,DocDate, GETDATE()) <= 365 THEN SecDebit ELSE
CASE WHEN j.DocTypeID=0 AND CreditOrDebit = 'c' THEN -seccredit ELSE 0 END END AS 'secdebitlessthen365',
CASE WHEN DATEDIFF(d, DocDate, GETDATE()) > 365 AND DATEDIFF(d, DocDate, GETDATE()) <= 730 THEN SecDebit ELSE
CASE WHEN j.DocTypeID=0 AND CreditOrDebit = 'c' THEN -seccredit ELSE 0 END END AS 'secdebitgreaterthen365lessthenorequa730',
CASE WHEN DATEDIFF(d, DocDate, GETDATE()) > 730 AND DATEDIFF(d, DocDate, GETDATE()) <= 1095 THEN SecDebit ELSE
CASE WHEN j.DocTypeID=0 AND CreditOrDebit = 'c' THEN -seccredit ELSE 0 END END AS 'secdebitgreaterthen730lessthenorequal1095',
CASE WHEN DATEDIFF(d, DocDate, GETDATE()) > 1095 THEN SecDebit ELSE
CASE WHEN j.DocTypeID=0 AND CreditOrDebit = 'c' THEN -seccredit ELSE 0 END END AS 'secdebitgreaterthen1095'
FROM J_Transactions (NOLOCK) j
WHERE AccountID IN (871446)
AND j.DocTypeID=0
Nur für Kredit meine sonst Aussage falsch läuft
Meine Ausgabe ist
debit credit days secdebit<365 secdebit>365<=730 secdebit>730<=1095 secdebit>1095
24196.5000 NULL 783 0.0000 0.0000 24196.5000 0.0000
NULL 24471.6500 418 -24471.6500 0.0000 -24471.6500 -24471.6500
NULL 10.5800 418 -10.5800 0.0000 -10.5800 -10.5800
Für Kredit ist an beiden Tagen 418, die unter secdebit> 365 < = 730 kommen sollte, sondern es ist überall reinkommen außer dem richtigen. Kann mir jemand sagen, was in diesem
Wunsch Ausgang
debit credit days secdebit<365 secdebit>365<=730 secdebit>730<=1095 secdebit>1095
24196.5000 NULL 783 0.00 0.0000 24196.5000 0.00
NULL 24471.6500 418 0.00 -24471.65 0.00 0.00
NULL 10.5800 418 0.00 -10.5800 0.00 0.00
Warum unten abstimmen ??? –
Pls post Ihre gewünschte Ausgabe – Kalyan
Case Ausdruck, nicht Case Aussage ... – jarlh