2016-08-19 1 views
0

Am Zeile in der Tabelle aus einer anderen Tabelle einfügenINSERT-Abfrage in SQL aus einer anderen Tabelle mit der Nummer läuft

ich auf die ID-Spalten benötigen, sollte wie die läuft Nummer unten, wie man die

i gesetzt habe id-Spalte ist eindeutiger Schlüssel, so dass der folgende Fehlercode zeigt

insert into Tbl1 (Id, DislayName,IsEnabled) 
select 16000,Names,0 from Tbl2 

Insertion wie

sein sollte
16000 | John | false 
16001 | Deo | false 
16002 | Jake | false 

HINWEIS: keine Autoinkrement verwendet werden soll, da bereits sein für eine andere Spalte

+0

Stellen Sie die Indentity Spezifikation (I Identity) auf Ja ID-Schrittweite zugewiesen wurde, zu 1 und Identity Seed bis 16000, indem Sie die ID-Spalte in der Entwurfsansicht der Quelltabelle auswählen. – MMK

Antwort

2

hinzufügen row_number() Fensterfunktion (minus eins)

insert into Tbl1 (Id, DislayName,IsEnabled) 
select 16000 -1 + row_number() over (order by Names), 
     Names,0 
    from Tbl2; 
+0

Sie müssen auch concat Namen hinzufügen – TheGameiswar

+0

@TheGameiswar Ich denke, Name1, Name2 sind nur Werte der Spalte 'Names' auf' tbl2' – vercelli

+0

ja keine Notwendigkeit, sich um diese Spalte kümmern –

Verwandte Themen