2017-01-10 8 views
1

verbinden getrennt, wenn ich diese Abfrage in SQL-Entwickler schreiben:ist vom Rest des Graphen

SELECT c.* FROM NAMES a ,CLOTHES b ,DATE c 
WHERE a.NAME_KEY=b.NAME_KEY 
AND b.CLOTHE_LABEL LIKE '%A33005%' 
AND c.CLOTHE_KEY=a.CLOTHE_KEY 
ORDER BY c.CREATE_DATE; 

es dauert nicht b als Teil des beitretens und es erscheint die Meldung:

B ist vom Rest des Join-Graphen getrennt.

Wissen Sie, warum das passiert?

Dies ist anders als die andere Frage

+0

Diese SO-Frage könnte auf diese Frage in Beziehung gesetzt werden: [SQL Developer „getrennt vom Rest des Join-Graph“] (http://stackoverflow.com/ Fragen/20242329/sql-developer-disconnected-from-the-rest-of-the-join-graph) –

+0

Mögliches Duplikat von [SQL Developer "vom Rest des Join-Diagramms getrennt]] (http://stackoverflow.com/questions/20242329/sql-developer-disconnected-from-the-rest-of-the-join-graph) –

+1

Geht es weg, wenn Sie explizite 'JOIN'-Operatoren anstelle der alten, veralteten und zerbrechlichen impliziten Joins im WO-Klausel? –

Antwort

0

richtige Reihenfolge der Tabellen auch von dem Punkt der Abfrageoptimierung wichtig ist.

Ihre Abfrage muss wie folgt

SELECT c.* FROM `DATE` c, CLOTHES b, NAMES a 
WHERE c.CLOTHE_KEY=a.CLOTHE_KEY 
AND a.NAME_KEY=b.NAME_KEY 
AND b.CLOTHE_LABEL LIKE '%A33005%' 
ORDER BY c.CREATE_DATE; 
+0

'\ 'DATE \" ist eine ungültige Kennung in SQL (und Oracle) –

Verwandte Themen