MySQL - Wert aus vorheriger Zeile übernehmen und einfügen

Max-Berater

Erfahrenes Mitglied
Ich nutz Heidi sql da bekomme ich überhaupt nie eine Fehlermeldung. Ich versuche es in mal mit einem anderen Programm, was hierfür ggf besser geeignet ist
 

Yaslaw

alter Rempler
Moderator
Mein Beispiel ist mit HEide-SQL geschrieben und getestet. Das geht.
Aber bring doch mal die Fehlermeldung.
Und du hast sicher den Beispielcode an deine DB angepasst? Bei mir heisst die Tabelle und die Spalten anders als bei dir.
 

Max-Berater

Erfahrenes Mitglied
Ich habe heute einmal versucht das oben genannte nachzubauen und zu verstehen. Ich kriege jedoch stets eine Fehlermeldung, wie unten zu sehen ist.
Was mache ich bloß falsch.

1645093448528.png
1645093503570.png
11:25:16 SELECT IFNULL( t.BELEGFELD_1, LAG(t.BELEGFELD_1, 1) over ( -- Gruppieren über BELEGFELD_2 PARTITION BY t.BELEGFELD_2 -- Absteigend sortiert BELEGFELD_1 ORDER BY t.BELEGFELD_1 DESC ) ) AS NEW_BELEGFELD_1, t.* FROM t_2124206 t Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( -- Gruppieren über BELEGFELD_2 PARTITION BY t' at line 5 0.032 sec
 

Yaslaw

alter Rempler
Moderator
Lade mal die neuste Version von Heidi-SQL herunter. Und welche Version von MySQL Server hast du? Ich denke, du solltest da Version 8 haben, damit LAG funktioniert.
 

Zvoni

Erfahrenes Mitglied
*GROWL*
LAG/LEAD gibt's erst ab MySQL8.0 (sowie auch die anderen WINDOW-Functions --> ROW_NUMBER usw.)
Sorry, wusste ich aber auch nicht

Und es ist MySQL 5.7 aus vergangen Threads des OP