• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一つのSQLにできませんか??)

一つのSQLで表領域のサイズと使用量を抽出する方法

このQ&Aのポイント
  • 自動拡張サイズと現サイズを抽出するSQLと現在の使用量を抽出するSQLを一つに統合する方法を教えてください。
  • 表領域のサイズと使用量を抽出するSQLを作成していますが、自動拡張サイズと現サイズ、現在の使用量の3つの要素を一つのSQLでまとめる方法を教えてください。
  • 2つのSQLで表領域のサイズと使用量を抽出していますが、それを一つのSQLで行う方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

select sysdate syoribi,z.tablespace_name,x.jidou,x.gensaize,y.siyoryo from dba_tablespace z, ( select a.tablespace_name, to_char(sum(a.MAXBYTES)/1024/1024, '999,999,990') jidou, to_char(sum(a.BYTES)/1024/1024, '9,999,990.9') gensaize from dba_data_files a group by a.tablespace_name ) x, ( select b.tablespace_name, to_char(sum(b.BYTES)/1024/1024, '9,999,990.9') siyoryo from dba_segments b group by b.tablespace_name ) y where z.tablespace_name=x.tablespace_name(+) and z.tablespace_name=y.tablespace_name(+) ; どう違うのか判らないので推測するしかないけど、外部結合なら良いんじゃないかな。

azuaz
質問者

お礼

k_o_r_o_c_h_a_nさんの教えていただいた方法でうまく抽出ができました!感激です^^どうもありがとうございました♪

その他の回答 (1)

回答No.1

それぞれがテーブルスペース毎に集計されるSQLなのだから、 テーブルスペース名で結合すれば良いだけでは? select * from ( (1)のSQL ) x,( (2)のSQL ) y where x.tablespace_name=y.tablespace_name ;

azuaz
質問者

お礼

ご回答ありがとうございます。 そうなんです。回答いただいた方法でtablespace_nameのwhere条件を指定したのですが個別に実行した結果と求める値が違ってしまいます。 ご回答いただいた方法以外で一つのSQLで実行する方法ってないでしょうか??

関連するQ&A