Тъй като родителят може да има дъщерен ред в някои от тези таблици, трябва да използвате LEFT OUTER JOIN.
LEFT OUTER JOIN обединява две таблици, връщайки всички редове от ЛЯВАТА таблица, в този случай A и всички съвпадения от другите таблици. Когато няма съвпадение, ще върне NULL в съответните колони на таблиците, че няма съвпадение.
SELECT *
FROM A
LEFT OUTER JOIN B
ON A.Id = B.ParentID
LEFT OUTER JOIN C
ON A.Id = C.ParentID
LEFT OUTER JOIN P
ON C.Id = P.ParentID
LEFT OUTER JOIN Q
ON C.Id = Q.ParentID
LEFT OUTER JOIN D
ON A.Id = D.ParentID
LEFT OUTER JOIN E
ON A.Id = E.ParentID
LEFT OUTER JOIN F
ON A.Id = F.ParentID
LEFT OUTER JOIN X
ON F.Id = X.ParentID
LEFT OUTER JOIN Y
ON F.Id = Y.ParentID
LEFT OUTER JOIN G
ON A.Id = G.ParentID
РЕДАКТИРАНЕ
Добавих начин за добавяне на поддети. Предназначих ги по-скоро, за да ги направя очевидни във визуално представяне. Но внимавайте...ако това води до поддеци, имайте други поддеци и т.н. може би вашата структура не е оптимална.