2017-02-23 3 views
2

Ich möchte Titel aus Eltern-Datensatz (erste Zeile in einer Tabelle) und ich habe nur Kinder Datensatz (f.x. mit KategorieID = 13, siehe Bildschirm unten).Holen Sie sich Eltern Datensatz von Join

So sind die Schritte: 1) Holen Sie sich Eltern-ID (3) aus Kind Datensatz von KategorieID (13). 2) von ParentID (3) Eltern Datensatz finden. 3) Titel von Eltern-Datensatz abrufen.

Ich habe solche Anfrage versucht, aber es funktioniert nicht wirklich, wie ich will:

select * from qa_categories as cat 
join qa_categories as pcat 
ON pcat.categoryid = cat.parentid 
where cat.categoryid = "13" 

enter image description here

Kann jemand mir helfen, mit dem, was ich falsch mache?

Antwort

1

Sie die richtige Idee haben, Sie fehlt nur der Titel der Eltern in der Auswahlliste:

SELECT cat.*, pcat.title AS parent_title 
-- Here ------^ 
FROM qa_categories AS cat 
JOIN qa_categories AS pcat ON pcat.categoryid = cat.parentid 
WHERE cat.categoryid = "13" 
+0

Wie würde ich alle Bereiche der übergeordneten Datensatz zurück:. Pcat * nicht funktioniert? BTW: Danke, es funktioniert. –

+0

Was passiert, wenn Sie 'pcat. *' Hinzufügen? Können Sie näher auf "funktioniert nicht"? – Mureinik

+1

Entschuldigung, ich bin ein Idiot :) Ich machte Fehler an einem anderen Ort und pcat. * Hat nicht funktioniert und ich dachte, ich würde etwas illegal machen. –

Verwandte Themen