Pokud předpokládáme pouze 1 úroveň hierarchie. Pokud je hierarchie více úrovní, bude to zajímavější.
SELECT A.Value+coalesce(B.Value,0) as Value
, A.Position
, A.Relates_to_Position
, A.Type
FROM Table A
LEFT JOIN Table B
on B.Relates_To_Position = A.Position
WHERE A. Relate_to_Position is null
Co to dělá, je vlastní připojení, takže související záznamy umístí na stejný řádek. poté odstraní všechny záznamy s hodnotou v related_to_position, protože budou přidány do nadřazeného řádku.
používáme LEVÉ spojení, protože ne všechny záznamy budou mít související hodnotu a používáme sloučení, abychom zajistili, že se nepokusí přidat nulové. (sloučení má první nenulovou hodnotu)
Nejste si jisti, proč potřebujete vrátit relateds_To_Position, protože VŽDY bude null..