Wählen Sie Eltern, wenn alle Kinder die Kriterien erfüllen

7

Ich habe Tische wie folgt eingerichtet:

%Vor%

Ich möchte die Eltern oder die distinct parent_id (s) finden, wenn all der Zeilen in Child, die eine gegebene parent_id enthalten, ein Kriterium erfüllen, das x und y einschließt (in meinem Fall x = y ).

Zum Beispiel:

%Vor%

würde zu 3 führen. Zur Zeit habe ich eine Abfrage, die parent_ids findet, dass any der Kinder die Kriterien erfüllt. Ich benutze das dann, um diese Datensätze abzurufen und sie im Code zu überprüfen, wenn alle Kinder die Kriterien erfüllen. Mit den Beispieldaten erhalte ich parent_id 2 und 3, hole die beiden übergeordneten Datensätze mit allen untergeordneten Elementen und werte sie aus. Ich möchte dies mit einer einzigen Abfrage tun, wenn möglich.

    
CheeZe5 22.08.2012, 14:12
quelle

3 Antworten

18

Sie können NOT EXISTS

verwenden %Vor%

Bearbeiten: Hier ist die sql-Geige: Ссылка

    
Tim Schmelter 22.08.2012, 14:17
quelle
1

Das brauchen Sie?

%Vor%     
AnandPhadke 22.08.2012 14:17
quelle
0

Sollte zuerst zwei Tische betreten, weil die Eltern keine Kinder haben, die

zufriedenstellen

Und sollte einen Index für die Spalte "pa_id" hinzufügen

%Vor%     
Hoang Khanh 24.03.2017 11:22
quelle

Tags und Links