可能であれば、任意のテーブルから値を返す t-sql クエリが必要で、最初の行は値 = 1、2 番目の行は 2 などの増分整数列も返します。
この列は実際にはどのテーブルにも存在せず、厳密にインクリメンタルである必要があります。これは、ORDER BY 句でテーブルの行を並べ替えることができ、インクリメンタル行を常に完全な形にしたいためです...
前もって感謝します。
--EDIT 申し訳ありませんが、言及するのを忘れました。SQL Server 2000 で実行する必要があります。
可能であれば、任意のテーブルから値を返す t-sql クエリが必要で、最初の行は値 = 1、2 番目の行は 2 などの増分整数列も返します。
この列は実際にはどのテーブルにも存在せず、厳密にインクリメンタルである必要があります。これは、ORDER BY 句でテーブルの行を並べ替えることができ、インクリメンタル行を常に完全な形にしたいためです...
前もって感謝します。
--EDIT 申し訳ありませんが、言及するのを忘れました。SQL Server 2000 で実行する必要があります。
SQL 2005 以降の場合
SELECT ROW_NUMBER() OVER( ORDER BY SomeColumn ) AS 'rownumber',*
FROM YourTable
2000年には、このようなことをする必要があります
SELECT IDENTITY(INT, 1,1) AS Rank ,VALUE
INTO #Ranks FROM YourTable WHERE 1=0
INSERT INTO #Ranks
SELECT SomeColumn FROM YourTable
ORDER BY SomeColumn
SELECT * FROM #Ranks
Order By Ranks
ここも参照 行番号
ROW_NUMBER() を試す
http://msdn.microsoft.com/en-us/library/ms186734.aspx
例:
SELECT
col1,
col2,
ROW_NUMBER() OVER (ORDER BY col1) AS rownum
FROM tbl
見苦しく、パフォーマンスも悪いですが、技術的には、これは少なくとも 1 つの一意のフィールドを持つすべてのテーブルで機能し、SQL 2000 でも機能します。
SELECT (SELECT COUNT(*) FROM myTable T1 WHERE T1.UniqueField<=T2.UniqueField) as RowNum, T2.OtherField
FROM myTable T2
ORDER By T2.UniqueField
注: このアプローチを使用して外側の SELECT に WHERE 句を追加する場合、数値を連続させたい場合は、内側の SELECT にも追加する必要があります。