データビューの任意項目の最大値取得について
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
kai
投稿数: 12
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
以下のような構造でプログラムを作成しています。
------------------------------------------------------
DB:oracle
●親タスク
メインテーブルなし
・変数a(条件入力用)
●子タスク
メインテーブル:テーブルA
・項目1 VARCHAR2
・項目2 VARCHAR2
・項目3 NUMBER
(MagicSQLにより変数aの値を用いてレコードを抽出)
------------------------------------------------------
親タスクで抽出条件を入力し、入力された値を用いて
子タスクのテーブルコントロールに抽出したレコードを
表示させています。
ここで抽出したレコードの中で、ある任意の項目の
最大値を求めたいのですが、何か有効な方法はありますでしょうか。
例:
テーブルA
(項目1、項目2、項目3)
AAA、あああ、5
BBB、いいい、9
CCC、ううう、4
となっており、抽出した結果レコードが
AAA、あああ、5
CCC、ううう、4
という2レコードだった場合に、項目3の値である
「5、4」の中の最大値である「5」を求めたいです。
抽出した結果を都度メモリに書出して、最大値を求める
ような方法しか思い付かないのですが、
他に方法があれば教えて頂きたいです。
よろしくお願い致します。
------------------------------------------------------
DB:oracle
●親タスク
メインテーブルなし
・変数a(条件入力用)
●子タスク
メインテーブル:テーブルA
・項目1 VARCHAR2
・項目2 VARCHAR2
・項目3 NUMBER
(MagicSQLにより変数aの値を用いてレコードを抽出)
------------------------------------------------------
親タスクで抽出条件を入力し、入力された値を用いて
子タスクのテーブルコントロールに抽出したレコードを
表示させています。
ここで抽出したレコードの中で、ある任意の項目の
最大値を求めたいのですが、何か有効な方法はありますでしょうか。
例:
テーブルA
(項目1、項目2、項目3)
AAA、あああ、5
BBB、いいい、9
CCC、ううう、4
となっており、抽出した結果レコードが
AAA、あああ、5
CCC、ううう、4
という2レコードだった場合に、項目3の値である
「5、4」の中の最大値である「5」を求めたいです。
抽出した結果を都度メモリに書出して、最大値を求める
ような方法しか思い付かないのですが、
他に方法があれば教えて頂きたいです。
よろしくお願い致します。
投票数:0
平均点:0.00
kubota
投稿数: 15
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
kai様
もっと良い方法があると思いますが・・
私なら、「select Max(項目3) From テーブルA WHERE :1」のような
ものをSELECT文に追加して最大値を求めます。
もっと良い方法があると思いますが・・
私なら、「select Max(項目3) From テーブルA WHERE :1」のような
ものをSELECT文に追加して最大値を求めます。
投票数:1
平均点:10.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
kai さん、こんにちは。
レコードを項目3の降順でソートして、データリンクで先頭に
位置付ければ、値が取得できると思いますよ。
タンダコンピュータ/丹田 昌信
レコードを項目3の降順でソートして、データリンクで先頭に
位置付ければ、値が取得できると思いますよ。
タンダコンピュータ/丹田 昌信
投票数:1
平均点:10.00
kai
投稿数: 12
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
kubota様
ご返信ありがとうございました。
参考にさせて頂きます。
因みに、たびたびの質問で申し訳ないのですが、
SELECT文の追加は、メインテーブルを
「SQLコマンド」にするということでしょうか。
それとも、メインテーブルはそのままの状態で
「タスク環境」-「範囲/位置付」-「SQL Wherer句」内の
「MagicSQL」や「DB SQL」に記述してしまっても良いものでしょうか。
お時間に余裕がありましたら、ぜひご教示お願い致します。
ご返信ありがとうございました。
参考にさせて頂きます。
因みに、たびたびの質問で申し訳ないのですが、
SELECT文の追加は、メインテーブルを
「SQLコマンド」にするということでしょうか。
それとも、メインテーブルはそのままの状態で
「タスク環境」-「範囲/位置付」-「SQL Wherer句」内の
「MagicSQL」や「DB SQL」に記述してしまっても良いものでしょうか。
お時間に余裕がありましたら、ぜひご教示お願い致します。
投票数:0
平均点:0.00
kai
投稿数: 12
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
Tanda様
ご返信ありがとうございました。
データリンクは思いつきませんでした。
参考にさせて頂きます。
ご返信ありがとうございました。
データリンクは思いつきませんでした。
参考にさせて頂きます。
投票数:0
平均点:0.00
Tanda
投稿数: 2151
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
kai さん、こんにちは。
実は、この方法は dbMAGIC V4 の頃からの定石なんです。
「丹田昌信の dbMAGIC 道場」でも、この手法を頻繁に使用して
います。
タンダコンピュータ/丹田 昌信
実は、この方法は dbMAGIC V4 の頃からの定石なんです。
「丹田昌信の dbMAGIC 道場」でも、この手法を頻繁に使用して
います。
タンダコンピュータ/丹田 昌信
投票数:0
平均点:0.00
kubota
投稿数: 15
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
引用:
kai様
申し訳ございません。読み違えました・・。
メインテーブルがSQLコマンドだと思ったため
Select文の追加をご提案しましたが、
実テーブルであればできないですね。
DB SQL や SQLWhere句は、Where句に相当し
Selectの代わりにはできないと思うので、
Tanda様の方法が良いかと思います!
SELECT文の追加は、メインテーブルを
「SQLコマンド」にするということでしょうか。
それとも、メインテーブルはそのままの状態で
「タスク環境」-「範囲/位置付」-「SQL Wherer句」内の
「MagicSQL」や「DB SQL」に記述してしまっても良いものでしょうか。
kai様
申し訳ございません。読み違えました・・。
メインテーブルがSQLコマンドだと思ったため
Select文の追加をご提案しましたが、
実テーブルであればできないですね。
DB SQL や SQLWhere句は、Where句に相当し
Selectの代わりにはできないと思うので、
Tanda様の方法が良いかと思います!
投票数:0
平均点:0.00
kai
投稿数: 12
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
Tanda様
定石でしたか。
そういった技をたくさん使えるよう、
精進しようと思います。
ありがとうございました。
定石でしたか。
そういった技をたくさん使えるよう、
精進しようと思います。
ありがとうございました。
投票数:0
平均点:0.00
kai
投稿数: 12
![新米 新米](../../uploads/rank3e632f95e81ca.gif)
kubota様
ご返信ありがとうございました。
やっぱりSQLWhere句は、Where句なんですね。
SQLコマンドはまだあまり使っていないので、
これからチャレンジしていこうと思います。
大変勉強になりました。
ありがとうございました。
ご返信ありがとうございました。
やっぱりSQLWhere句は、Where句なんですね。
SQLコマンドはまだあまり使っていないので、
これからチャレンジしていこうと思います。
大変勉強になりました。
ありがとうございました。
投票数:0
平均点:0.00