sql >> Databasteknik >  >> RDS >> Oracle

Blanda ihop Connect by, inre join och summera med Oracle

Skulle något liknande fungera? Jag har haft fall som liknar ditt, och jag tog helt enkelt bort kopplingen från den hierarkiska frågan och använde den först efteråt för att undvika att tappa rader.

SELECT TaskName, Sum(ts.hours) "TotalHours" 
FROM (
    SELECT replace(sys_connect_by_path(decode(level, 1, t.name), '~'), '~') As TaskName, t.id
    FROM tasks t
    START WITH PARENTOID=-1
    CONNECT BY PRIOR t.id = t.parent_id
    ) tasks
INNER JOIN timesheets ts ON tasks.id=ts.task_id
GROUP BY TaskName Having Sum(ts.hours) > 0 ORDER BY TaskName


  1. Säker metod för att lagra/hämta en privat PGP-nyckel och lösenordsfras?

  2. Hur man skapar en primärnyckel består av två fält i Django?

  3. FEL:relationsplatser finns inte Heroku db import

  4. Att analysera döden med tusen minskar arbetsbelastningen