Du skulle kunna göra en UNION. Nå't i stil med:
SELECT intID, strName, intPrice * 0.8, intPrice
FROM [product]
WHERE bolVAT = TRUE
UNION
SELECT intID, strName, intPrice * 1.25, intPrice
FROM [product]
WHERE bolVAT = FALSE
14 svar · 368 visningar · startad av Eclipse
[product]
intID
...
intPrice
bolVAT
Om bolVAT är TRUE då ingår moms i priset, annars får man addera det senare.
Förslag:
SELECT intID, strName, iif( ...?? ... ) FROM [product]
iif(bolVAT = TRUE, intPrice * 0.8, intPrice)
iif(bolVAT = FALSE, intPrice * 1.25, intPrice)
Jag är osäker...
Du skulle kunna göra en UNION. Nå't i stil med:
SELECT intID, strName, intPrice * 0.8, intPrice
FROM [product]
WHERE bolVAT = TRUE
UNION
SELECT intID, strName, intPrice * 1.25, intPrice
FROM [product]
WHERE bolVAT = FALSE
Testa!! :birp
Närå, efter sida raden skareva - så här:
SELECT intID, strName, intPrice * 0.8, intPrice
FROM [product]
WHERE bolVAT = TRUE
UNION
SELECT intID, strName, intPrice * 1.25, intPrice
FROM [product]
WHERE bolVAT = FALSE
ORDER BY strName
Vad är att föredra?
1.
SELECT ... intPrice * 0.8, intPrice
UNION...
SELECT ... intPrice, intPrice * 1.25
2.
SELECT ... intPrice * 0.8, ...
UNION...
SELECT ... intPrice, ...
***
Alltså, ska jag redan i frågan ha priset färdigt med moms eller är det bättre att räkna ut det i ett senare skede, i detta fallet ASP?
agneta_rung skrev:
Testa!! :birp
Givetvis!
Grejen är att det är beng-mycket kod... Tack för svaret!
Fel tråd!
OM du gör den typen av beräkningar i VB eller SQL är egalt. Däremot så skulle jag inte använda union, vilket är en kostsam operation.
OK... Vad skulle du använda då?
Två kolumner. En med moms och en utan och använda iif för beräkningarna precis som i din första post.
OT: iif - motsvarar det logikens om och endast om?
Jag tror att det är: Om frågan är sann så gör det fösta, annars: gör det andra, typ.
iif(strNamn = 'aasah',första,andra)
Något sånt. Hoppas Lasse kan förklara bättre. ;)