Aktualisieren Sie die SQL-Tabelle mit einem zufälligen Wert aus einer anderen Tabelle

8

Auf Microsoft SQL Server 2008 habe ich eine Tabelle mit Produkten:

Id | Name | DefaultImageId

Und eins mit Bildern:

Id | Produkt-ID | Bytes

Ich möchte eine Update-Anweisung ausführen, die die DefaultImageId für alle Datensätze in der Products-Tabelle mit einer zufälligen ID aus der Images-Tabelle aktualisiert, die über die ProductId-Spalte mit dem Produkt verknüpft ist.

Kann jemand helfen? Sollte für jeden SQL-Champion einfach sein (was natürlich nicht ich ist) ..

    
MartinHN 17.08.2009, 18:28
quelle

5 Antworten

5

Sie können eine Bestellung mit einer NEWID durchführen, um für jede Zeile Ihres Updates eine Zufallszahl zu erhalten.

%Vor%     
Robin Day 17.08.2009, 18:42
quelle
8

Das @ philreed-Problem mit der ausgewählten Antwort adressieren:

  

Gibt es eine Möglichkeit, jeder Zeile, die gerade aktualisiert wird, einen anderen Wert zuzuweisen?   zufällig aus der Quellentabelle ausgewählt?

%Vor%     
jacoblambert 22.09.2015 11:56
quelle
3

Eine andere mögliche Lösung

%Vor%     
Welly 11.10.2013 05:48
quelle
1

Sieh dir das an.

%Vor%     
Raj More 17.08.2009 18:38
quelle
0

Probiere dies (auf AdventureWorks):

Es aktualisiert alle Zeilen der Personentabelle mit einem neuen zufälligen Namen aus der Produkttabelle.

%Vor%

Oder versuchen Sie eine ähnliche Abfrage auf SQL Fiddle: Ссылка

    
celper 09.09.2015 14:33
quelle

Tags und Links