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