Das SQL-Statement kann auch nicht funktionieren, da es nicht korrekt ist!
Counter ist eine Common Table Expression und keine Spalte. Der Spalten-Name ist VALUE.
Wenn Du das Statement wie folgt änderst, funktioniert es auch:
Code:
with counter (value) as ( values(1)
union all
select value + 1 from counter
where value < 20)
select * from counter ;
Im Übrigen stimmt das komplette Statement auch nicht. Wenn Du es jedoch wie folgt änderst, sollte es funktionieren. (Anstatt der Datei habe ich eine Dummy-Datei über eine Common Table Expression generiert, mit 4 Sätze und jeweils 2 Spalten, den Text und die Anzahl/Number)
Code:
with counter (value) as ( values(1)
union all
select value + 1 from counter
where value < 20),
File (Text, Number) as (Values('ABC', 5),
('XXX', 3),
('YYY', 7),
('ZZZ', 1))
select Text, 1, a.*, b.*
from File a inner join Counter b on Number >= Value
Order By Text;
Bookmarks