I would use JOINs to connect these.
You would want to decide which values you want (see above chart for a great visualization of SQL Join results) to keep, and that will determine your type of join.
For instance, if you want to return all results from matching values in the tables, you would use:
SELECT a.FieldA, a.FieldB, b.FieldC, c.FieldD
FROM [DE1] a
INNER JOIN [DE2] b ON a.FieldA = b.FieldB
INNER JOIN [DE3] c ON a.FieldA = c.FieldA
Via the inner Join, you would be able to collect only those with matching FieldA on DE1 to DE2 and DE3.
There are many other options and different types of joins to meet your needs. If you provide more specifics on exactly what you are looking for, I can better specify my example code to fit your needs.
This should solve your needs:
WHEN ISNULL(a.FieldC,'') <> '' THEN
WHEN ISNULL(b.FieldC,'') <> '' THEN
WHEN ISNULL(c.FieldC,'') <> '' THEN
END as FieldC
WHEN ISNULL(a.FieldD,'') <> '' THEN
WHEN ISNULL(b.FieldD,'') <> '' THEN
WHEN ISNULL(c.FieldD,'') <> '' THEN
END as FieldD
WHEN ISNULL(a.FieldE,'') <> '' THEN
WHEN ISNULL(b.FieldE,'') <> '' THEN
WHEN ISNULL(c.FieldE,'') <> '' THEN
END as FieldE
WHEN ISNULL(a.FieldF,'') <> '' THEN
WHEN ISNULL(b.FieldF,'') <> '' THEN
WHEN ISNULL(c.FieldF,'') <> '' THEN
END as FieldF
FROM [DE1] a
FULL JOIN [DE2] b ON a.FieldA = b.FieldA AND a.FieldB = b.FieldB
FULL JOIN [DE3] c ON a.FieldA = c.FieldA AND a.FieldB = c.FieldB
It cascades the Field C-F values trying to fill it in first in DE1, then DE2 then DE3 - depending on if a value exists there or not.