sql >> Database teknologi >  >> RDS >> Oracle

Blanding sammen Connect by, indre join og sum med Oracle

Ville sådan noget virke? Jeg har haft tilfælde, der ligner din, og jeg fjernede simpelthen joinforbindelsen fra den hierarkiske forespørgsel og anvendte den først bagefter for at undgå at miste rækker.

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. PostgreSQL svarende til MySQL hukommelsestabeller?

  2. Vis et billede gemt i MySql-databasen i BLOB-format ved hjælp af c#

  3. Hvad er LIKE Logical Operator i SQL Server - SQL Server / TSQL Tutorial Del 123

  4. SQL-forespørgsel til trætabel