アプリ版:「スタンプのみでお礼する」機能のリリースについて

下のように、あるテーブルをSELECTしたときに、
[NO]を定義して、[NO]にカウントをセットする。
ただし、カーソルは使用しない方法を
知っている方いますか?

<テーブル項目>
本部、部、課
<SELECT実行後>
NO 本部  部    課
-------------------------
1 東京  総務   総務
2  東京  人事   採用
3  東京  営業   営業1
4  東京  営業   営業2

A 回答 (3件)

SQL SERVER 2005ならROW_NUMBER()が使えるけど


2000なら面倒ですね
    • good
    • 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.部課コード;
    • good
    • 0

参考にしてください。



参考URL:http://www.kotaete-net.net/bbs04001.aspx?intOrig …
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!