Summering av fält svaret fördelat på två kolumner
Hej
jag har ett problem med en SQL fråga
Antag att jag har en tabell med värden som är inmatade vid olika tillfällen under en flerårs period. Antag att jag vill summera dessa värden på årsbasis och pressentera detta i ett kalkylark hur skulle den SQL fråga jag då måste ställa till databasen se ut?
Ursprunglig tabell
Verfikation Leverantör Kostnad Datum
100 Larssons Såg AB 125 000 20030102
101 Larssons Såg AB 100 000 20031020
102 Advokatbyrån Sture AB 25 000 20030905
103 Nilsson Snickeri AB 150 000 20031103
104 Nilsson Snickeri AB 125 000 20021015
105 Advokatbyrån Sture AB 50 000 20030705
106 Redovisningsfirman Kurt AB 10 000 20020203
107 Larssons Såg AB 100 000 20021020
osv.
Hur skulle sql frågan se ut ställd till tabellen ovan för att få resultaten enligt nedan?
Svarstabell
Leverantör Kostnad_2002 Kostnad_2003
Larssons Såg AB 100 000 225 000
Advokatbyrån Sture AB 0 75 000
Nilsson Snickeri AB 125 000 150 000
Redovisningsfirman Kurt AB 10 000 0
Mvh
Markus
Svara
Sv: Summering av fält svaret fördelat på två kolumner
Hej
Jag skrev frågan på detta vis då jag använder mig av flera olika
men mest används
SQL 2000 och Oracle 9.1
/Markus
Svara
Sv: Summering av fält svaret fördelat på två kolumner
<code>
select leverantör,
sum(case when extract(year from datum) = 2002 then kostnad else 0 end) as kostnad_2002,
sum(case when extract(year from datum) = 2003 then kostnad else 0 end) as kostnad_2003
from t
group by leverantör
</code>
Det är enligt sql-standard. Nu är problemet att SQL server har inte stöd för extract och vissa Oracle-versioner har inte stöd för case expressions.
I stället för extract kan man använda datepart i SQL server.
I stället för case får man använda decode i Oracle.
Svara
Sv: Summering av fält svaret fördelat på två kolumner
Hur överför du data från databasen till excelarket? Har du möjlighet att använda kod? Om du sammaställer informatione på radnivå kan du vrida den när du visar den i Excel.
Svara
Sv: Summering av fält svaret fördelat på två kolumner
Hej
Jag ställer frågan i MS query och infogar resultatet i ett excell ark
Därefter använder jag en pivottabell för att åskådliggöra data
Detta fungerar med automatik till SQL servern men mot Oracle måste jag importera data från en semikolon separerad fil.
Problemet idag är att jag ställer två frågor och på så sätt får två tabeller
en för 2002 och en för 2003
Målsättningen var att utan en massa makro kod få fram ett excelblad som tar fram informationen och uppdaterar pivottabellerna
Men under rsans gång har ekonomerna yttrat sig vilket föränklar frågeställningen
De vill se i pivottabellen vilket datum en verifikation gjordes inte summan
Vilket gjorde frågan betydligt enklare
/Markus
Svara
Sv: Summering av fält svaret fördelat på två kolumner
Hej
Hm så med andra ord fungerar inte exemplet du skrivit för SQL 2000 och Oracle?
Kan du visa hur det skulle se ut under SQL2000 respektive Oracle?
/Markus
Svara