1

SQL テーブルで追加の自動番号を取得するにはどうすればよいですか。IDENTITY 列は既にありますが、自動インクリメントも行う追加の列が必要です。

4

3 に答える 3

3

これに使用できる一連のランキング関数があります。インスタンスの場合、次のROW_NUMBER()ような関数を使用できます。

SELECT *, ROW_NUMBER() OVER (ORDER BY somefield) rownum
FROM table;
于 2012-11-29T09:11:49.947 に答える
1

自動インクリメント列が2つある場合、それらは常に定数だけ異なる必要があるため、これを正しく行うことに価値はありませんか?本当に列にしたい場合は、自動インクリメント列の値に基づいて計算列にすることができます。

于 2012-11-29T09:14:54.093 に答える
0

あなたはこのようなことをすることができます、

columnNameを持つテーブルがColAあり、これがインクリメントしたいものであると仮定すると、

INSERT INTO tableName (colA, colB)
SELECT  COALESCE((SELECT MAX(colA) + 1 FROM tableName),1) as ColA, 
        'colBValue' AS colB
FROM tableName
于 2012-11-29T09:13:05.557 に答える