In einer Excel-Abfrage, brauche ich eine bedingte Anweisung, die ein Feld lesen wird, und basierend auf diesem Wert ein anderes Feld auf ein Minus (oder nicht) festlegen.Case, Wählen Bedingte Requirements
My SQL-Code ist wie folgt:
SELECT "_bvSTTransactionsFull".txdate,
SUM("_bvSTTransactionsFull".debit) AS 'TOTALDebit',
SUM("_bvSTTransactionsFull".credit) AS 'TOTALCredit',
SUM("_bvSTTransactionsFull".tax_amount) AS 'TOTALTax_Amount',
SUM("_bvSTTransactionsFull".VALUE) AS 'TOTALValue',
SUM("_bvSTTransactionsFull".actualvalue) AS 'TOTALActualValue',
SUM("_bvSTTransactionsFull".actualsalesvalue) AS 'TOTALActualSalesValue',
SUM("_bvSTTransactionsFull".profit) AS 'TOTALProfit'
FROM sqlschema.dbo."_bvSTTransactionsFull" "_bvSTTransactionsFull"
WHERE ("_bvSTTransactionsFull".txdate >=?
AND "_bvSTTransactionsFull".txdate <=?)
GROUP BY "_bvSTTransactionsFull".txdate,
"_bvSTTransactionsFull".description
HAVING ("_bvSTTransactionsFull".description LIKE 'POS Sale')
OR ("_bvSTTransactionsFull".description LIKE 'POS Return')
ORDER BY "_bvSTTransactionsFull".txdate
ich die Auswahlabfrage muß auf einem Feld suchen namens "ActualQuantity
" (in der Tabelle "_bvSTTransactionsFull
"), und wenn dieses Feld < 0, dann Tax_Amount = -(Tax_Amount)
oder if ActualQuantity >=0, then Tax_Amount = Tax_Amount
.
Bitte beachten Sie, dass die Abfrage "summiert" ist, also nehme ich an, dass dieser bedingte Aspekt behandelt werden muss, bevor die Summierung stattfindet. Die Abfrage summiert ungefähr 100 000 Datensätze zu täglichen Summen.
Danke Nikola, aber nicht in Excel 2007 Abfrage arbeiten. Standardfehler –
Ich habe case ... end-Anweisung in MS Query versucht. Es klappt. Wie führst du diese Abfrage aus? Und was ist der Fehler? –
Nikola, ich öffne den SQL-Dialog in der MS-Abfrage und ersetze die Sum-Anweisung für den TAX_Amount wie folgt: Summe ("_ bvSTTransactionsFull" .Credit) AS 'TOTALCredit', Sum (Fall wenn "_bvSTTransactionsFull" .ActualQuantity> = 0 dann „_bvSTTransactionsFull“ .tax_amount andere - „_ bvSTTransactionsFull“ .tax_amount Ende) AS TOTALTax_Amount‘, Der Fehler ist ‚Parameter werden in Abfragen nicht erlaubt, die nicht grafisch dargestellt werden kann‘ –