SQL Werte mit Bedingungen auslesen und einfügen.

PlatinStandard

Cadet 4th Year
Registriert
Okt. 2011
Beiträge
84
Hallo Zusammen,
ich habe eine Datenbank mit einer Tabelle die folgendermassen aufgebaut ist:

OrderID, OrderParentID, NoticeNumber, Number.
Meine Anforderung ist folgende:
Ich möchte den Wert von der Spalte "Noticenumer" in die Spalte NoticeNumber einfügen (kopieren), wenn der Wert von NoticeNumber "NULL" ist und er soll den Wert von Noticenumer nehmen, wenn die OrderID die gleiche ist, wie die von OrderParentID:
2018-03-23 11_15_11-Terminals 4.0.0 (Files store).png

Ich hoffe, ich habe das verständlich rübergebracht.
 
Lade die Tabelle mit einem weiteren Feld LEFT(Number,9) as KEY So das nur noch die ersten 9 stellen dran stehen.
Ohne das Feld NOTICENUMBER.


Mach nen LEFT JOIN mit der selben Tabelle mit

Number as KEY
NOTICENUMBER as NOTICENUMBER
WHERE NOTICENUMBER IS NOT NULL;

Grüße
 
Hallo,
ich bin leider nicht so erfahren was T-SQL angeht.

Ich habe um den Screenshot zu erstellen folgenden Befehl verwendet:

SELECT [Number]
,[NoticeNumber]
,[OrderID]
,[OrderParentID]
FROM [Database].[dbo].[Order]

So ich ich das verstanden habe, brauche ich ein

"Update [Order] set Noticenumber" Befehl.
Wo soll ich jetzt das einfügen was du da geschrieben hast?
Es handelt sich hierbei um einen MS SQL Server 2012.
Ergänzung ()

Ich habe das jetzt so gelöst:

UPDATE [Order]
SET NoticeNumber = Order_1.NoticeNumber
FROM [Order] INNER JOIN
[Order] AS Order_1 ON [Order].OrderParentID = Order_1.OrderID
 
Zurück
Oben