webForumDet fria alternativet

Räkna om pris från olika valutor

Databaser & SQL

8 svar · 921 visningar · startad av butiko

Medlem sedan jan. 2007152 inlägg
Frågan#1

Har en tabell med två kolumner, pris och valuta. Priskolumnen innehåller priser i olika valutor och valutakolumnen anger i vilken valuta priset har angets. Går det att _med sql_ räkna om alla priser i kolumnen att visa svenska kronor? Kolumnen är en mix av dollar, euro och kronor.

Medlem sedan juni 200032 967 inlägg
#2

Ja.

Medlem sedan jan. 2007152 inlägg
#3

Kan man få en hint om hur också? :)

Medlem sedan juni 200032 967 inlägg
#4

utan att veta speciellt mycket hur dina tabeller ser ut så kan jag ju bara gissa. under förutsättning att valutakursen ligger i en fin tabell bredvid borde något sånt härnt kanske kunna fjungera:

select pris, tabell.valuta, pris*valutatabell.kurs as sekpris from tabell
inner join valutatabell on tabell.valuta = valutatabell.valuta
Medlem sedan jan. 2007152 inlägg
#5

Tack för svar! Nej, kurser finns inte så jag behöver någon form av variabel där jag kan ange aktuell kurs. Tabellen innehåller en del annat men det är bara pris och valutaslag som kommer att användas. Alltså, skulle vilja ha ett par parametrar för kurser och sedan få fram en kolumn med svenska kronor baserat på pris och valutaslag i de båda kolumnerna.

Medlem sedan juni 200032 967 inlägg
#6

var tänkte du skicka in parametrarna ifrån?

Medlem sedan jan. 2007152 inlägg
#7

Jag kommer att köra frågan direkt i sql-managern (sql server 2005) så jag tänkte deklarera dem direkt. Ingen extern app alltså. Det jag går bet på är framför allt hur jag ska använda rätt variabel beroende på vilket valutaslag det är... alltså hur jag använder variabeln innehållande eur-kursen när priset är i euro osv.

Medlem sedan juni 200032 967 inlägg
#8

kanske:

declare 
     @eurkurs decimal,
     @dollarkurs decimal

[b]set @eurkurs = 9.11
set @dollarkurs = 6.73[/b]

select *, 
   case 
       when valuta = 'eur' then pris*@eurkurs
       when valuta = 'dollar' then pris*@dollarkurs
       else pris
end as sekpris 
from tabell
Medlem sedan jan. 2007152 inlägg
#9

Fungerar klockrent, tackar och bugar! :bire

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)