2017-06-10 11 views
0

Ich habe Tabelle, in der es gibt 8 Spalten, jetzt was ich will ist Wenn Wert in Spalte1, Spalte2 und dann Spalte3 ist, Spalte4 sind Null und wieder Spalte5, Spalte6 Wert also diese Spalte5, 6 sollte in Spalte3 und Spalte4 aktualisiert werden. und so weiter für alle anderen Fälle. Ist das möglich gelöst, um es mit einzelnen Abfrage ohne gespeicherte Prozedur oder irgendwelche iterative process.thanksAktualisieren Sie die Werte der Spalte in der Reihenfolge

+1

bitte alle Fälle teilen. –

+0

Wenn Sie nur 6 Spalten haben, schreiben Sie eine Case-Anweisung mit allen Kombinationen. Wenn die Anzahl der Spalten groß ist, dann könnten Sie mit pivot + row_number –

+0

Rohit etwas bauen, es kann mehrere Szenarien geben. 1) Ich habe 12 Spalten und es ist möglich, dass die ersten 11 leer sind und Daten in der 12. Spalte vorhanden sind, als ich sie in Spalte1 verschieben muss. 2) Die ersten 8 Spalten sind leer und 9 hat Wert, dann ist 10 leer und 11,12 hat Wert . 3) Spalte 1,2 hat Wert 3,4 hat keinen Wert dann wieder 5,6 hat Wert. ... so sind diese Szenarien möglich. also jedes Mal, wenn ich überprüfen muss, ob die Startspalte einen Wert hat oder nicht, wenn nicht, dann verschiebe den Wert in diese Spalte und so weiter. –

Antwort

0

Try this:

UPDATE a 
SET a.column3 = b.column5, a.column4 = b.column6 
FROM Table a 
INNER JOIN myTable b 
ON a.Id = b.Id 
WHERE column1 IS NOT NULL AND 
     column2 IS NOT NULL AND 
     column3 IS NULL AND 
     column4 IS NULL AND 
     column5 IS NOT NULL AND 
     column6 IS NOT NULL 
+0

danke für diese Antwort, aber wie Sie Bedingungen gegeben haben in denen Spalte 3 und 4 gleich null ist. aber es wird nicht immer wahr sein. Es besteht die Möglichkeit für verschiedene Szenarien. –

Verwandte Themen