PDA

View Full Version : SQL Lines verdoppeln bzw. abhängig von Menge verdoppeln



Seiten : 1 [2]

Miles
26-08-20, 15:13
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:


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)


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;


VIELEN DANK hat super funktioniert habe mein Problem mit deiner Lösung lösen können!!!

Fuerchau
26-08-20, 15:37
Bis auf meinen Tippfehler (counter < 20) funktioniert mein SQL aber.
Ich habe meinen Betrag minimal korrigiert;-).

B.Hauser
26-08-20, 17:23
Bis auf meinen Tippfehler (counter < 20) funktioniert mein SQL aber.

Der JOIN muss a.Value >= b.Value und nicht a.Value <= b.Value sein!

Birgitta

Fuerchau
27-08-20, 00:16
Das liegt dann immer daran, wenn man falsch vom anderen Schirm abtippt, hmpf. Copy/Paste geht da nicht über 2 Systeme.
Aber dafür sind wir ja ein gutes Team;-).