2016-06-21 10 views
0

Ich möchte alle Kind-IDs (Komma getrennt) abrufen, aber mein Code nur die zwei Ebenen Heirachy, nicht mehr als das. Ich weiß nicht, was Problem ist? hier ist mein CodeMysql Abfrage nicht alle Eltern IDs

select concat (a.id,',',a.parent_id) as parents 
    from table1 a 
inner join table1 b 
    on a.id = b.parent_id 
where b.id = 5 

Hier meine Tabellenstruktur ist:

id | parent_id 
    --------------------- 
    1 |  6 
    2 |  NULL 
    3 |   1 
    4 |   3 
    5 |   4 
    6 |  NULL 
    7 |  NULL 

Ausgang erwartet:

4,3,1,6 
+0

was erwarten Sie übrigens? Kannst du uns das sagen? – DevelopmentIsMyPassion

+0

Wie viele Level hast du? – sagi

+0

Sollte allgemein sein. dynamic leve –

Antwort

0

SELECT GROUP_CONCAT(@temp:=T.parent_id) as parents 
FROM (SELECT * FROM testTable ORDER BY id DESC) T 
JOIN 
(SELECT @temp:=5)tmp 
WHERE [email protected]; 

Siehe Versuchen: SQL Fiddle