Het is geen ideaal datamodel. Zoiets zou moeten werken, behalve wanneer een waarde die begint met 'o_%' een element_id is en geen element.
Dit is niet getest.
select t1.question_id
,case when t1.element_id not like 'o_%' then t1.element_id else '' end element_id
,case when t2.element_id like 'o_%' then t2.element_id else '' end element
from table t1
join table t2 on t1.question_id=t2.question_id