2017-06-12 10 views
0

Ich habe Tabelle mit einer RecordID, die die PK ist, möchte ich eine Zeile kopieren, in eine neue Zeile in der gleichen Tabelle, aber ich möchte die Nummer dieser neuen Zeile verwenden, um einen Schlüsselcode zu erstellen, den ich in der Tabelle habe.So kopieren Sie eine Zeile aus einer Tabelle in die gleiche Tabelle und verwenden die neue Zeile RecordID

Ich verwende

INSERT INTO mytable ([field 1], [field 2], [field 3], [field 4]) 
SELECT 'New Data for Field 1', [field 2]+[field 3] + [NewRecordID] 
FROM mytable 

Ich versuchte, die ROW_NUMBER-Funktion zu verwenden, aber es ist immer ein 1 jedes Mal, wenn ich die Abfrage ausführen zu generieren.

Irgendwelche Ideen von mir könnte tun, um die neue automatisch generierte Nummer in meiner Abfrage zu verwenden, während ich die Daten kopiere?

Bearbeiten: Sie finden auf der beigefügten Datei, meine Tabelle Design und einige Daten.

Die Idee ist, das (Programm Default) Land zu nehmen, um es in ein neues Land zu kopieren. Ich möchte beim Kopieren vorhandener Daten für ein neues Land die neue RecordID erstellen, die erstellt wird, wenn die Zeile erstellt wird, und ein KeyCovCountry generieren, das diese neu generierte Zahl enthält.

enter image description here

+1

können Sie erklären, mit einigen Beispieldaten und erwartetes Ergebnis – TheGameiswar

+0

verwenden Sie eine Identitätsspalte wäre eine Möglichkeit (und vergessen Sie nicht, eine Where-Klausel). – CodeMonkey1313

+0

Ihr Code Versuch macht nicht viel Sinn. Sie versuchen, zwei Spalten in vier einzufügen? –

Antwort

0

Eine Möglichkeit, dies zu tun ist durch KeyCovCountry eine berechnete Spalte zu machen.

+0

Dies könnte eine gute Idee sein, aber wenn ich versuche, meine Formel zu erstellen, habe ich eine Fehlermeldung wegen der Daten Art. Ich versuche, die RecordID mit einem Teil meines KeyFNCode zu verketten. Die Nachricht lautet: "Die Konvertierung ist beim Konvertieren des Varchar-Werts '1FN12345620170206' in den Datentyp int fehlgeschlagen." – Hakeem

+0

In Ihrer Formel müssen Sie die RecordID als 'varchar (31)' '' CAST'' –

Verwandte Themen