Jump to content

UPDATE Spalte mit zufälligen Werten aus anderer Tabelle


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich möchte eine Spalte in einer Tabelle aktualisieren. Das Feld soll "anonymisiert" werden. In dem Feld soll aus einer Menge von Werten aus einer anderen Tabelle ein zufälliger Wert gewählt und geschrieben werden.
 

Momentan habe ich das Problem, dass zwar ein zufälliger Wert ausgesucht wird, dieser aber dann in allen geupdateten Datensätzen gleich ist. Ich möchte natürlich, dass der Wert pro Zeile neu zufällig gewählt wird.

Wie bekomme ich das hin?
Mein momentaner Code:


UPDATE L2001.VERTRAG
SET
BESCHSCHL = (SELECT  TOP  1 LIT_KZL  FROM L2001.LITERAL WHERE LIT_ART = 'BESALS' AND SPR = 'D' ORDER BY NEWID() );


Vielen Dank für Eure Hilfe!

Link zu diesem Kommentar

Ehrlich gesagt glaube ich passt das nicht so ganz zu meiner Anforderung oder verstehe ich das falsch?
Mit deinem Statement erstellst du in den ganzen Zeilen "Ort XXX -Einträge". Sowas habe ich bei mir hinbekommen.
Ich habe das Problem, dass ich es hier mit der SELECT-Abfrage auf die andere Tabelle machen muss. Ich wüsste nicht, wie mir hier dein Besipiel weiterhelfen sollte. Oder stehe ich auf dem Schlauch?




 

Link zu diesem Kommentar

Warum musst Du zum anonymisieren etwas aus einer anderen Tabelle auslesen? FK-Beziehungen sollte man eh mit eindeutigen numerischen Feldern machen. 

 

Das bei Deinem Update die Spalte in allen den Zeilen den gleichen Inhalt hat ist klar. Dein Subselect liefert ein Ergebnis, dass Du mit dem Update in alle Zeilen schreibst.

bearbeitet von zahni
Link zu diesem Kommentar

Lies dir diesen Artikel durch: http://www.tutorials.de/threads/sql-server-zufallszahlen-erzeugen.371088/ Deine Werte aus dem Pool könnten im Vergleich zu dem Artikel die Wert 1,2,3 und 4 sein. Weiß nicht ob das funktionieren kann, einen Versuch ist es wert. Und auch die Kommentare beachten.

 

Alternativ diese Funktion anschauen: http://technet.microsoft.com/de-de/library/ee634569%28v=sql.105%29.aspx Die Zahlen von bis sind die kleinsten und höchsten Schlüssel der anderen Tabelle.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...