So D can be distinct, so are you ok with something like T1.A, T1.B, T1.C, T2.D1; T1.A, T1.B, T1.C, T2.D2, etc etc?
Can't you just use a group by and tweak your select to return the columns you want? Any distinct rows (where D differs) will be returned.
select T1.A, T1.B, T1.C, T2.D
from...