webForumDet fria alternativet

Räkna ut momsen redan i SQL frågan

Databaser & SQL

14 svar · 368 visningar · startad av Eclipse

Medlem sedan juli 20003 825 inlägg
Frågan#1

[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...

Medlem sedan juli 2002145 inlägg
#2

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
Medlem sedan juli 20003 825 inlägg
#3

OK, järttebra!

Var skriver jag ORDER BY strName? Efter varje rad eller efter sista raden!?

Medlem sedan juli 2002145 inlägg
#4

Testa!! :birp

Medlem sedan juli 2002145 inlägg
#5

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
Medlem sedan juli 20003 825 inlägg
#6

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?

Medlem sedan juli 20003 825 inlägg
#7

agneta_rung skrev:

Testa!! :birp

Givetvis!

Grejen är att det är beng-mycket kod... Tack för svaret!

Medlem sedan juli 20003 825 inlägg
#8

Fel tråd!

Medlem sedan dec. 200012 464 inlägg
#9

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.

Medlem sedan juli 20003 825 inlägg
#10

OK... Vad skulle du använda då?

Medlem sedan dec. 200012 464 inlägg
#11

Två kolumner. En med moms och en utan och använda iif för beräkningarna precis som i din första post.

Medlem sedan apr. 20021 155 inlägg
#12

OT: iif - motsvarar det logikens om och endast om?

Medlem sedan dec. 200012 464 inlägg
#13

OT: iif - motsvarar det logikens om och endast om?

Nej.

Medlem sedan mars 20034 471 inlägg
#14

LarsG skrev:

OT: iif - motsvarar det logikens om och endast om?

Nej.

Vad betyder det då?

Medlem sedan jan. 20032 285 inlägg
#15

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. ;)

261 ms totalt · 4 externa anrop · v20260731065814-full.20824b9f
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)