Werte untereinander füllen

seidemrc

Neuer Benutzer
Beiträge
3
Hallo zusammen,
ich habe in der Spalte NotifCode einen Wert stehen, zb.: ILL. Der Wert soll bis zur ILX gefüllt werden und die Null Werte ersetzen. Danach soll das System den ILX Wert nehmen und bis zum ILW gefüllt werden. Also immer bis zur nächsten besetzen Zeile.

TblAppendix1ErrorCodesForComplaintsQaIdNotifCodeMainDefectSchaefflerCodeGroup
1ILL600
2NULL900
3NULL900
4NULL900
5ILX900
6NULL900
7NULL900
8ILW900
9NULL600

Vielen Dank
 
Werbung:
Der Wert soll bis ... Danach soll das System
Ein solches Verfahren benötigt ein Sortierkriterium, das auch aus mehreren Spalten bestehen kann.
Könnte sein, dass es hier die Spalte TblAppendix1ErrorCodesForComplaintsQaId ist, könnte aber auch anders sein. Du hast eine weitere Spalte gezeigt, die offenbar mit der Problematik nichts zu tun hat. Oder doch?

Wenn Du per SQL sowas machen möchtest, musst Du Dich von der Vorstellung lösen, mit einem Spreadsheet zu arbeiten. In SQL gibt es keine Reihenfolge, außer sie wird definiert.
 
Werbung:
Wenn man jetzt mal TblAppendix1ErrorCodesForComplaintsQaId als Sortierkriterium zu Grunde legt und eine uns nicht bekannte Gruppen-ID (MainDefectSchaefflerCodeGroup kommt hier nicht in Frage weil der Zusammenhang nicht eindeutig ist, da ist mal 600 mal 900 als Wert drin), dann ginge das etwa so:
Code:
UPDATE    tabelle
SET        tabelle.NotifCode = (    SELECT    TOP 1 t.NotifCode
                                FROM    tabelle t
                                WHERE    t.gruppenID = tabelle.gruppenID
                                AND        t.TblAppendix1ErrorCodesForComplaintsQaId < tabelle.TblAppendix1ErrorCodesForComplaintsQaId
                                AND        t.NotifCode IS NOT NULL
                                ORDER BY t.TblAppendix1ErrorCodesForComplaintsQaId DESC )
FROM    tabelle
WHERE    tabelle.NotifCode IS NULL
 
Zurück
Oben