Tausche Werte für zwei Zeilen in derselben Tabelle in SQL Server

9

Ich habe eine Tabelle und möchte die Werte aus zwei Zeilen tauschen. Ich habe die Zeilen IDs der zwei Zeilen. Gibt es dazu eine Anfrage? Hier ist ein Beispiel. Vor der Abfrage habe ich folgendes:

%Vor%

Nach dem Tausch will ich das:

%Vor%

Ich möchte es nicht in .NET-Code schreiben, weil ich glaube, dass eine SQL-Abfrage einfacher ist als das.

    
Amr Elnashar 03.05.2010, 13:39
quelle

7 Antworten

6

Wenn Sie Werte für zwei bekannte IDs von einer Zeile zur anderen tauschen möchten, versuchen Sie Folgendes:

%Vor%     
KM. 03.05.2010, 14:12
quelle
2

Einfaches Update funktioniert:

%Vor%

Ergebnis: Zeilenwerte werden vertauscht.

    
Israel Margulies 27.08.2013 15:09
quelle
2
%Vor%

Sie müssen nicht unbedingt die ID-Spalte Ihrer Tabelle verwenden, ich glaube, Sie können nach jeder Spalte mit der richtigen Verknüpfungslogik suchen. Den Tisch mit sich selbst zu verbinden, ist der Trick.

    
Brian 05.07.2016 19:41
quelle
1

Ich habe eine Tabelle mit den Spalten name und gender erstellt. Ich habe Werte eingefügt. Jetzt möchte ich Werte in der Gender-Spalte als M = F, F = M vertauschen.

    
bhavani 03.11.2010 19:54
quelle
1

Ich hatte in letzter Zeit ein ähnliches Problem. Ich hatte eine Spalte, um die Ausgabe zu bestellen, und wollte die Reihenfolge ändern. Ich suchte nach der Antwort und stieß auf diese Frage. Dies hat meine spezielle Frage nicht ausreichend beantwortet, aber vielleicht hilft meine Lösung anderen.

Ich hatte meine Datenbank so aussehen

Tabelle: Order_Table

%Vor%

Ich wollte in der Lage sein, sie mit pdo in php auszutauschen. Letztendlich habe ich einen Weg gefunden, dies mit einer SQL-Abfrage zu tun.

%Vor%     
penguinjeff 06.01.2014 16:50
quelle
1

Sie müssen alle Datensätze nach der Bedingung "WHERE" auswählen. Dann "SET" Update durch "CASE" Bedingung.

%Vor%     
Nikunj Patel 10.03.2017 08:56
quelle
0

Keines der obigen Beispiele ist praktisch ... Es sollte wie der folgende Update-Abschnitt aussehen:

%Vor%     
Uğur PARLAYAN 30.06.2017 07:36
quelle

Tags und Links