• 締切済み

SELECT時にカウントアップ

下のように、あるテーブルをSELECTしたときに、 [NO]を定義して、[NO]にカウントをセットする。 ただし、カーソルは使用しない方法を 知っている方いますか? <テーブル項目> 本部、部、課 <SELECT実行後> NO 本部  部    課 ------------------------- 1 東京  総務   総務 2  東京  人事   採用 3  東京  営業   営業1 4  東京  営業   営業2

みんなの回答

  • 7marine
  • ベストアンサー率36% (59/160)
回答No.3

SQL SERVER 2005ならROW_NUMBER()が使えるけど 2000なら面倒ですね

回答No.2

部署名を一意に定めるコードは、あるのですよね? もしないなら、本部、部、課のすべてで順序比較をしなければならなくなります。 以下の回答例では、部課コードという一意なキーで、順序付けしています。 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)
回答No.1

関連するQ&A