- 締切済み
SELECT時にカウントアップ
下のように、あるテーブルをSELECTしたときに、 [NO]を定義して、[NO]にカウントをセットする。 ただし、カーソルは使用しない方法を 知っている方いますか? <テーブル項目> 本部、部、課 <SELECT実行後> NO 本部 部 課 ------------------------- 1 東京 総務 総務 2 東京 人事 採用 3 東京 営業 営業1 4 東京 営業 営業2
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 7marine
- ベストアンサー率36% (59/160)
SQL SERVER 2005ならROW_NUMBER()が使えるけど 2000なら面倒ですね
- chukenkenkou
- ベストアンサー率43% (833/1926)
部署名を一意に定めるコードは、あるのですよね? もしないなら、本部、部、課のすべてで順序比較をしなければならなくなります。 以下の回答例では、部課コードという一意なキーで、順序付けしています。 create table oshiete_goo (部課コード int, 本部 varchar(8), 部 varchar(8), 課 varchar(8), primary key(部課コード)); insert into oshiete_goo values(110,'東京','総務','総務'); insert into oshiete_goo values(210,'東京','人事','採用'); insert into oshiete_goo values(310,'東京','営業','営業1'); insert into oshiete_goo values(320,'東京','営業','営業2'); select (select count(*)+1 from oshiete_goo where 部課コード<x.部課コード) as NO, x.本部, x.部, x.課 from oshiete_goo as x order by x.部課コード;
- ipsum11
- ベストアンサー率21% (55/251)