Avatar billede speder Nybegynder
01. november 2003 - 13:00 Der er 3 kommentarer og
2 løsninger

Summering på tværs af tabeller

Tabel 1
id  vare xtraomk
1  a    200
2  b    300
3  c    400
4  d    200


Tabel 2
id  vareid (fra Tabel 1) omk
1  1                    100
2  2                    200
3  3                    300
4  3                    400


Jeg vil gerne havde dette ud:

vare    pris
a      300
b      500
c      1100
d      200

Logikken er at varene (a,b,c) i Tabel 1 alle har en værdi (200, 300, 400, 200). Denne værdi skal så summeres med yderligere værdier fra Tabel 2. Dvs. at vare a får yderligere 300 oven i hatten, vare b får 500, og vare c får 700 (300 + 400), vare d får ikke noget.

Håber nogen kan hjælpe. Det skal være ms sql server 2000 kompatibel sql.
Avatar billede terry Ekspert
01. november 2003 - 13:48 #1
SELECT    vareid, SUM(omk) +
                          (SELECT    xtraomk
                            FROM          Tbl1
                            WHERE      tbl1.id = vareiD) AS Expr1
FROM        dbo.tbl2
GROUP BY vareid
Avatar billede terry Ekspert
01. november 2003 - 13:50 #2
Not sure if your example is correct, there is NO vareid = 4 in tabel 2
Avatar billede terry Ekspert
01. november 2003 - 13:54 #3
If you always want the records from tabel 1 an only those which exist in tabel2

SELECT    vare, xtraomk + ISNULL
                          ((SELECT    SUM(omk)
                              FROM        tbl2
                              WHERE    tbl2.vareid = tbl1.ID), 0) AS Expr1
FROM        dbo.tbl1
Avatar billede speder Nybegynder
02. november 2003 - 02:38 #4
jeg fandt en løsning
Avatar billede terry Ekspert
02. november 2003 - 11:42 #5
speder>First thanks for half of the points, they are better than none :o)
What I dont understand is why you place a question and then find a solution yourself! What is wrong with the solution I gave?
I would also like to see the solution you find yourself
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester