Avatar billede daliwi Nybegynder
20. april 2008 - 15:09 Der er 1 kommentar

Udtræk fra to tabeller (evt noget nested)?

Jeg har to tabeller der ser således ud:

Tasks (Primary key: Ordernr, Sn)
+-------+--+--------+
|Ordernr|Sn|Div data|
+-------+--+--------+
|123456 |1 |        |
+-------+--+--------+
|123456 |2 |        |
+-------+--+--------+

Spended (Primary key: Ingen)
+-------+--+----+-----+----+
|Ordernr|Sn|Type|Timer|Dato|
+-------+--+----+-----+----+
|123456 |1 |1  |10  |... |
+-------+--+----+-----+----+
|123456 |1 |2  |8    |... |
+-------+--+----+-----+----+

Den første tabel indeholder en række opgaver med forskellige ordernr og sn. Den anden tabel indeholder oplysninger om, hvor mange timer der er blevet brugt på den enkelte opgave. Der er altså en række af records i Spended der hører til den samme opgave i Tasks. Årsagen til at der er en Type, er at de enkelte timer kan være af forskellig slags, enten type 1 eller 2.

Mit problem er, at jeg gerne vil have et udtræk fra de to tabeller der ser således ud:

SELECT Ordernr, Sn, Div data, SUM(Timer[type1]), SUM(Timer[Type2])  FROM ....

Er der nogle der har nogen anelse om hvordan man gør det?

Jeg ved ikke om det giver nogen mening, men det er godt nok svært at forklare hvad man præcist har i tankerne. Ellers så må jeg forsøge at uddybe det...

På forhånd tak!
Avatar billede pidgeot Nybegynder
20. april 2008 - 18:45 #1
Hvis jeg forstår dig ret, så kunne du gøre noget i stil med dette:

SELECT Ordernr, Sn, DivData, SUM(t1.Timer) as T1Timer, SUM(t2.Timer) AS T2Timer FROM Spended t1, Spended t2 ... WHERE T1.Type=1 AND T2.Type=2 ...

Altså tage den samme tabel med to gange ved at bruge aliaser, og så sætte kriterier på dem begge alt efter hvad du vil have.

Ellers kunne du måske overveje at tage en række pr. type ved også at lave en GROUP BY på den kolonne, og så selvfølgeligkun lave den ene SUM - så skal du ikke lave queryen om hvis der pludselig kan komme en tredje type.
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