Matty: MySQL - DINSTINCT und UNION

Beitrag lesen

Ich habe ein etwas komische Problem in SQL zu lösen, und bisher ist mir dazu noch nix eingefallen. Ist auch nicht so einfach das ganze an einema
Anwendungsbeispiel zu erklären, deswegen mal etwas abstrakter:

Ich habe die Tabellen A B C D die alle das Feld datum enthalten. Tabellen B C D enthalten alle A.id als Fremdschlüssel.

jetzt möchte ich übergreifend über diese vier Tabellen alle Einträge nach dem Feld datum ( der jeweiligen Tabelle ) sortiert haben mit dem zusätzlichen Feld A.id (einmal direkt auf A und drei mal über ein JOIN auf A)

Das ganze funktioniert auch soweit mit:

  
(  
  SELECT DISTINCT `a_id`, `datum`  
  FROM A  
  
  UNION DISTINCT SELECT B.`a_id` as 'a_id', `datum`  
  FROM B  
  
  UNION DISTINCT SELECT C.`a_id` as 'a_id', `datum`  
  FROM C  
  
  UNION DISTINCT SELECT D.`a_id` as 'a_id', `datum`  
  FROM D  
)  
ORDER BY `datum` DESC  

... nur leider bekomme ich hier auch doppelte Einträge für a\_id und das will ich natürlich nicht... jede a\_id soll nur EINMAL zurückgeliefert werden. Dachte das dinstinct übernimmt das für mich... anscheinend aber nicht.

jemand eine Idee wie ich das in Pure-SQL lesen kann?

Danke euch :)