Avatar billede madox_madox Nybegynder
08. september 2008 - 15:36 Der er 3 kommentarer og
2 løsninger

Hjælp til konstruktion af SQL forespørgsel

Jeg har to tabeller i min database:

tabel1 =  (aid, pid, afgang)

tabel2 = (aid, proid, timer)

pid = person id
proid = projekt id

Jeg ønsker at finde ud af hvor mange timer hver enkelt person har haft på hvert projekt.

Eksempel på indhold:

Tabel 1:
(aid, pid)
1, 10
2, 10
3, 56
4, 69
5, 10


Tabel 2:
(aid, proid, timer)
1, 9001, 4
1, 9002, 6
1, 9001, 7
2, 9005, 5
3, 9004, 6
4, 9004, 10
4, 9004, 3
1, 9002, 18
5, 9003, 3


Nu vil jeg så gerne have konstrueret en forespørgsel der finder ud af hvor mange timer de enkelte personer har haft på hvert projekt. Fx har person med pid=1 arbejdet 29 timer på projektet med proid=9002, person med pid=4 har arbejdet 13 timer på projektet med proid=9004 osv.
Avatar billede aaberg Nybegynder
08. september 2008 - 15:41 #1
prøv dette:

select t1.pid, t2.proid, sum(t2.timer) antal_timer
from tabel1 t1
inner join tabel2 t2 on t1.aid = t2.aid
group by t1.pid, t2.proid
Avatar billede arne_v Ekspert
08. september 2008 - 15:41 #2
prøv:

SELECT tabel1.pid,tabel2.proid,SUM(tabel2.timer)
FROM tabel1,tabel2
WHERE tabel1.aid=tabel2.aid
GROUP BY tabel1.pid,tabel2.proid
Avatar billede madox_madox Nybegynder
08. september 2008 - 15:52 #3
Det var i godt nok hurtige om :-)
Jeg takker for responsen.

Gider i skrive et svar.
Avatar billede aaberg Nybegynder
08. september 2008 - 19:19 #4
Ha, jeg kom 1 sekund før Arne_V  :oD

Jeg går ud fra vi deler pointene.
Avatar billede arne_v Ekspert
09. september 2008 - 18:29 #5
svar
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