you might need subselect on attribute value (see my genderbis)
or you can play with json functions (see gender)
with raw_data_relationship as (
select
relationshiptype.name,
to_relationshipitem.trackedentityinstanceid as relation_to_tei_id ,
from_relationshipitem.trackedentityinstanceid as relation_from_tei_id ,
(coalesce(nullif(replace(array_to_string(array(
select jsonb_build_object(trackedentityattribute.uid, jsonb_build_object('created', teav.created, 'lastUpdated', teav.lastupdated, 'value', teav.value,
'storedBy', teav.storedby, 'trackedentityattribute', trackedentityattribute.uid))
from trackedentityattributevalue teav
join trackedentityattribute ON trackedentityattribute.trackedentityattributeid = teav.trackedentityattributeid
where teav.trackedentityinstanceid = to_relationshipitem.trackedentityinstanceid), ','), '}},{', '},'), ''), NULL) )::jsonb as from_attributes,
(coalesce(nullif(replace(array_to_string(array(
select jsonb_build_object(trackedentityattribute.uid, jsonb_build_object('created', teav.created, 'lastUpdated', teav.lastupdated, 'value', teav.value,
'storedBy', teav.storedby, 'trackedentityattribute', trackedentityattribute.uid))
from trackedentityattributevalue teav
join trackedentityattribute ON trackedentityattribute.trackedentityattributeid = teav.trackedentityattributeid
where teav.trackedentityinstanceid = to_relationshipitem.trackedentityinstanceid), ','), '}},{', '},'), ''), NULL) )as to_attributes
from relationship join relationshiptype ON relationshiptype.relationshiptypeid = relationship.relationshiptypeid
join relationshipitem as from_relationshipitem ON from_relationshipitem.relationshipitemid = relationship.from_relationshipitemid
join relationshipitem as to_relationshipitem ON to_relationshipitem.relationshipitemid = relationship.to_relationshipitemid
)
select *,
raw_data_relationship.from_attributes->'yo33iKOsHfN'->>'value' as origin,
raw_data_relationship.from_attributes->'TN0ZUAIq3jr'->>'value' as gender,
(select trackedentityattributevalue.value
from trackedentityattributevalue
join trackedentityattribute on trackedentityattribute.trackedentityattributeid = trackedentityattributevalue.trackedentityattributeid
where trackedentityattributevalue.trackedentityinstanceid = relation_to_tei_id and trackedentityattribute.uid ='yo33iKOsHfN' ) as genderbis
from raw_data_relationship limit 10