私は、T-SQL select文を持っていると私はそれの列(つまり、データベースに存在しない)自動インクリメントのサブクエリは
select dbo.a, dbo.b, dbo.c, select @d:=1; @increment:[email protected]+1 AS d
が、このことは可能です自動インクリメントしたいです?
私は、T-SQL select文を持っていると私はそれの列(つまり、データベースに存在しない)自動インクリメントのサブクエリは
select dbo.a, dbo.b, dbo.c, select @d:=1; @increment:[email protected]+1 AS d
が、このことは可能です自動インクリメントしたいです?
のお手伝いをすると思いますSQL 2005以降:彼らはDBフォーム返されるよう
SELECT dbo.a, dbo.b, dbo.c, ROW_NUMBER() OVER(ORDER BY GETDATE()) AS d
行を注文します。あなたが順序を指定したい場合は、そうすることができます:SQL 2000の場合
SELECT dbo.a, dbo.b, dbo.c, ROW_NUMBER() OVER(ORDER BY dbo.a) AS d
を以前のあなたがで注文するユニークな値を必要とする:
SELECT dbo.a, dbo.b, dbo.c, (SELECT COUNT(*) FROM dbo d2 WHERE d2.a <= dbo.a) AS d
FROM dbo
またはあなたは、単一のSELECTを必要としない場合:
SELECT IDENTITY(int,1,1) ID, dbo.a, dbo.b, dbo.c
INTO #Temp
FROM dbo
SELECT * FROM #Temp
I HAV e SQL2000。その他の方法で? – tdjfdjdj
私はあなたのようなものでそれをやってのけることができると思います。
select dbo.a, dbo.b, dbo.c, ROW_NUMBER() OVER (order by dbo.a) as d from somewhere;
私の答えは、SQL Serverの2005+を想定し、私はD・スタンレーの答えはあなたが使用していると仮定すると、2000年
'ROW_NUMBER()' SQL Server 2005の新だった、OPは、SQL Server 2000を使用しています –
SQL Server 2000が間もなく引退しなければならない - でも、2005年版が正式にもうMSによってサポートされていません.... –