2009-07-22 7 views
0

Ich brauche eine Abfrage zu schreiben, die eine Art von sequenzierten ID für jeden Datensatz generieren ... so zum Beispiel:erzeugt Sequenz in SQL wählt

 
ID  Customer Name 
------------------------- 
C1000 customer #1 
C1010 customer #2 
C1020 customer #3 
C1030 customer #4 

jetzt, diese „C1000“ ids nicht existieren ... nur die Kundennamen. Ich muss sie erzeugen, wenn ich die Auswahl mache ... also kann ich die Ausgabe speichern und dann in das neue System importieren.

wie kann ich ein:


select 
    'C' + (some kinda code/math that generates the count based on a sequence? or row number?), 
    name 
from Customers 

================================= ===============

ich am Ende tun die folgenden (so konnte ich Anfang # und Schrittweite konfigurieren):


DECLARE @start int; 
DECLARE @inc int; 
set @start = 1000; 
set @inc = 10; 

Select 'C' + CAST(@start + (@inc * (ROW_NUMBER() OVER (ORDER BY name))) as varchar) as NewID, Name 
from customer 

+0

Sie müssen etwas bestellen oder die generierten Sequenzen sind nicht vorhersehbar (wird zwischen den Läufen geändert). –

Antwort

Verwandte Themen