MSSQL Rekursion mit errechneter Spalte
Hallo zusammen,
Datenbank: MSSQL
ich habe ein Problem bei der Verwendung einer errechneter Spalte in einer rekursiven SQL Abfrage. Die errechnete Spalte ist in der abgefragten Tabelle nicht vorhanden und kann deshalb nicht angezogen werden. "Unbekannte Spalte Tier" ist das Ergebnis.
Funktionierendes Beispiel, nur errechnete Spalten ohne Abfrage einer Tabelle:
Nicht funktionierendes Beispiel mit Abfrage einer Tabelle:
Ich habe auch schon eckige Klammern und einfache Anführungszeichen um die Bezeichnung "Tier" versucht, ohne Erfolg. Wie kann ich auf die Spalte Tier zugreifen?
Vielen Dank im Voraus,
Thomas
Datenbank: MSSQL
ich habe ein Problem bei der Verwendung einer errechneter Spalte in einer rekursiven SQL Abfrage. Die errechnete Spalte ist in der abgefragten Tabelle nicht vorhanden und kann deshalb nicht angezogen werden. "Unbekannte Spalte Tier" ist das Ergebnis.
Funktionierendes Beispiel, nur errechnete Spalten ohne Abfrage einer Tabelle:
WITH FAKULTAET(N, F)
AS (
SELECT 1 AS N, 1 AS F
UNION ALL SELECT VORIG.N + 1 AS N, VORIG.F * (VORIG.N + 1) AS F FROM FAKULTAET VORIG WHERE VORIG.N < 10
)
SELECT N, F FROM FAKULTAET ORDER BY N
Nicht funktionierendes Beispiel mit Abfrage einer Tabelle:
WITH MyTest (Father, Code, Tier)
AS (
SELECT Father, Code, 1 AS Tier FROM MyTable WHERE Father = 'MyCriteria'
UNION ALL SELECT T0.Father, T0.Code, T0.Tier + 1 FROM MyTable T0 INNER JOIN MyTable T1 ON T0.Father = T1.Code
)
SELECT Father, Code, Tier FROM MyTest ORDER BY Tier;
Ich habe auch schon eckige Klammern und einfache Anführungszeichen um die Bezeichnung "Tier" versucht, ohne Erfolg. Wie kann ich auf die Spalte Tier zugreifen?
Vielen Dank im Voraus,
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2649208531
Url: https://administrator.de/contentid/2649208531
Ausgedruckt am: 24.11.2024 um 01:11 Uhr
1 Kommentar