Avatar billede pbentsen Nybegynder
15. april 2002 - 13:28 Der er 4 kommentarer og
1 løsning

Avanceret SQL problem

Hej alle.

Jeg er lidt på den her.

project_task kan have timeforbrug bundet op på sig. Disse timer ligger i tabellen project_hour og er bundet op via feltet XiTaskId. Jeg forsøger at sumere alle timer på project_hour over et join med project_task.

Det select statement der ses herunder fungerer fint, på nær når der ikke findes nogen rows i project_hour der er bundet op på project_task. D.XiDataId = X.XiTaskId siger jo netop at der skal findes project_hour.XiDataId før row'en returneres.

Hvordan får jeg de tasks med der ikke har nogen timer bundet på sig. Jeg tænkte på noget med en or D.XiDataId = ???, men jeg kan ikke rigtig se hvad jeg skal sætte ind for at få de rows med.

Her er mit select statement.

select distinct D.* , SUM(X.iTimeEnd)-SUM(X.iTimeBegin) AS iTimeDiff from  project_hour X ,  project_task D where  D.XiDataId = X.XiTaskId and D.XiProjectId = '171' GROUP BY D.XiDataId

Mvh. Peter
Avatar billede proaccess Nybegynder
15. april 2002 - 13:33 #1
select distinct D.* , SUM(X.iTimeEnd)-SUM(X.iTimeBegin) AS iTimeDiff from  project_hour X RIGHT JOIN project_task D ON D.XiDataId = X.XiTaskId WHERE D.XiProjectId = '171' GROUP BY D.XiDataId
Avatar billede proaccess Nybegynder
15. april 2002 - 13:42 #2
Du kan måske bedre gemmenskue:

SELECT DISTINCT D.*, SUM(X.iTimeEnd)-SUM(X.iTimeBegin) AS iTimeDiff
FROM project_task D LEFT JOIN project_hour X ON D.XiDataId=X.XiTaskId
WHERE D.XiProjectId='171'
GROUP BY D.XiDataId
Avatar billede pbentsen Nybegynder
15. april 2002 - 14:37 #3
Det var jo let :) - mange tak for hjælpen - skal have kigget på left/right joins nu - dem kendte jeg ikke.
Avatar billede proaccess Nybegynder
15. april 2002 - 14:46 #4
God fornøjelse... Det er jo altid rart at lære nyt ;-)
Avatar billede muddi Praktikant
22. april 2002 - 22:05 #5
pbentsen >> Har du glemt dit spm. på http://www.eksperten.dk/spm/197180 eller vil du bare ikke svare?
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