五表关联查询,因为业务需求,该怎么在一条SQL语句里写完?

有表TA、TB、TC、TD、TE,
其中TB和TC、TD和TE分别是主子表,TB和TD、TC和TE结构类似,
TA分别和TB、TD存储有相同字段,设为ss,
需要的结果集设为{TA.s1, TA.s2, s3, s4, s5},
s3来自于TB.s1或TD.s1,
S4来自于TC.s1或TE.s1,
s5来自于TC.s2或TE.s2,
请问怎么能在一条SQL语句里写完?

select
TA.s1, TA.s2, COALESCE(TB.s1, TD.s1) s3, COALESCE(TC.s1, TE.s1) s4, COALESCE(TC.s2, TE.s2) s5
from TA, TB, TC, TD, TE
where TA.ss=TB.ss and TA.ss=TD.ss and TB.pk=TC.fk and TD.pk=TE.fk