Seek and you shall find.
With the help of a colleague we sorted this out.
The trick I hadn't managed to see for my self is to first join the required information together, then do the connect to-statement.
I think the code below solves the problem as it's described.
select parent_task.*
from (
select parent_task_id, item_id, task_id, level
from (
select
task.task_id parent_task_id,
task_item.item_id,
item.task_id task_id
from
task, task_item, item
where
task_item.task_id = task.task_id
and
item.item_id = task_item.item_id) properly_structured_parent_table
start with task_id = :TASK_ID
connect by prior parent_task_id = task_id
) task_hierarchy, task parent_task
where parent_task.task_id = task_hierarchy.task_id;
The inner mot SQL builds a proper parent_table. The next build a hierarchy using connect by prior. The outermost SQL joins in the rest of the data as required in the application.
Thank you for your time and feedback folks.