Ich hatte eine sehr einfache Frage: Erlaubt Oracle mehrere "WITH AS" in einer einzigen SQL-Anweisung?
Beispiel:
WITH abc AS( select ......)
WITH XYZ AS(select ....) /*This one uses "abc" multiple times*/
Select .... /*using XYZ multiple times*/
Ich kann die Abfrage zum Laufen bringen, indem ich dieselbe Abfrage mehrmals wiederhole, möchte dies aber nicht, und "WITH AS" nutzen. Es scheint eine einfache Anforderung zu sein, aber Orakel erlaubt mir nicht:
ORA-00928: Schlüsselwort SELECT fehlt
abc
undxyz
Unterabfragen? Ich muss das Ergebnis der ersten Unterabfrage abrufen und es für die zweite Unterabfrage verwenden.Die richtige Syntax lautet -
quelle
Ja, du kannst...
Befolgen Sie die Reihenfolge, in der es in Common Table Expressions initialisiert werden soll
quelle
Aditya oder andere, können Sie t2 mit t1 in Ihrem Beispiel verbinden oder abgleichen, dh in meinen Code übersetzt,
Mir ist nicht klar, ob nur WO für den Beitritt unterstützt wird oder welcher Beitrittsansatz innerhalb der 2. WITH-Entität unterstützt wird. Einige der Beispiele haben das WHERE A = B im Hauptteil der Auswahl "unter" den WITH-Klauseln.
Der Fehler, den ich beim Befolgen dieser WITH-Deklarationen erhalte, ist, dass die Bezeichner (Feldnamen) in B im Hauptteil des restlichen SQL nicht erkannt werden. Die WITH-Syntax scheint also in Ordnung zu sein, kann jedoch nicht auf die Ergebnisse von t2 zugreifen.
quelle