-PR-
締切済み

PL/SQLを使用した、プログラミング方法について

  • すぐに回答を!
  • 質問No.5786097
  • 閲覧数343
  • ありがとう数11
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 50% (4/8)

今、独学でPL/SQLについて学習しているのですが、下記の問題が解けません。。。
考えても、自分の答えが出ないので質問させてください。
------------------------------------------------------------
下記の表(temp表)をPL/SQLのカーソルを使い取得しました。

temp表:主キー=No
------------------
No,ID, 処理, 数値
1 , A, 加算(1), 1000
2 , A, 加算(1), 500
3 , A, 減産(2), 500
4 , A, 加算(1), 100
-----------------
5 , B, 加算(1), 200
6 , B, 減産(2), 100
7 , B, 加算(1), 50
------------------
8 , C, 加算(1), 100
9 , C, 減産(2), 50

※加算の場合、値は「1」減算の場合、値は「2」です。

(1)その後、取得した値を使って、ID別の数値残高を計算したいです。
「加算」「減算」の区別は、「処理」カラムを使って区別をつけたいです。

例:ID「A」の数値残高 = 1000+500-500+100
  ID「B」の数値残高 = 200+100-50

(2)1つのIDの計算が終了したら、次のIDの計算が始まる。
例:ID「A」の数値残高が計算終了→ID「B」の残高計算開始→ID「C」の残高計算開始

(3)その後、(2)で計算した値を、ほかのテーブル(answer)に挿入したいです。
例:
answer表
ID, 数値残高
--------------
A, 1100
B, 150
C, 50

このような処理をPL/SQLを使って、実装したいのですが。
(1)(2)(3)の処理を教えて頂けないでしょうか?

※1つのIDあたり、1万レコードを持っています。
パフォーマンス(処理速度)も考えて、プログラミングしたいです。
もし、カーソルを使って表を取得する意外に、よい方法があるならば、そちらの方法でも可能です。
ご教授・ご回答よろしくお願いします。質
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 42% (1231/2878)

>加算の場合、値は「1」減算の場合、値は「2」です。

これを1と-1に変えれば、集計SQL一発でできるかと。
補足コメント
ghostsweep

お礼率 50% (4/8)

返信ありがとうございます!
ソース解読させてください。。。

すみません、質問が増えてしまいました。
もし、
加算の場合、「1」のみではなく。処理カラムの値が「1、3、5」のどれか。
減算の場合、「2」のみではなく。処理カラムの値が「2、4、6」のどれか。
となった場合は、実装可能なのでしょうか?

最後の質問なので、どうかよろしくお願いします。
投稿日時 - 2010-03-28 22:08:06
お礼コメント
ghostsweep

お礼率 50% (4/8)

ありがとうございました。
投稿日時 - 2010-04-22 13:22:51
  • 回答No.2
レベル14

ベストアンサー率 42% (1231/2878)

> 加算の場合、「1」のみではなく。処理カラムの値が「1、3、5」のどれか。
> 減算の場合、「2」のみではなく。処理カラムの値が「2、4、6」のどれか。

可能かと。mod2を考えれば。
  • 回答No.3
レベル8

ベストアンサー率 59% (19/32)

insert into answer(
select id,sum(case syori when '1' then to_number(suti) else to_number(suti) * -1 end)
from temp
group by id
)
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

-PR-

ピックアップ

-PR-
ページ先頭へ