Jika kita hanya mengasumsikan 1 tingkat hierarki. Jika beberapa tingkat hierarki ini menjadi lebih menarik.
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
Apa yang dilakukan adalah bergabung sendiri sehingga menempatkan catatan terkait pada baris yang sama. kemudian hilangkan semua record tersebut dengan nilai dalam related_to_position karena akan ditambahkan ke baris induk.
kami menggunakan gabungan KIRI karena tidak semua catatan akan memiliki nilai terkait dan kami menggunakan penggabungan untuk memastikan nol tidak dicoba untuk ditambahkan. (gabungan mengambil nilai non-null pertama)
Tidak yakin mengapa Anda harus mengembalikan relation_To_Position karena akan SELALU menjadi null..