Det här ser ut som en left join
och villkorlig logik:
select
t.id,
coalesce(t.col1, t1.col1) col1,
coalesce(t.col2, t1.col2) col2,
coalesce(t.col3, t1.col3) col3,
t.source_id
from mytable t
left join mytable t1 on t1.id = t.source_id