よろしくお願いします。

DBに登録されている表名を全て表示できる、一発検索SQLコマンドって
ありますか?
また、頭文字が「M」のものだけとか絞ることはできますか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

全件検索は


select table_name from all_tables;
頭文字が「M」のものだけは
select table_name from all_tables where table_name like 'A%';
となるかと思います。
    • good
    • 0
この回答へのお礼

大変たすかりました!
ありがとうございます!

お礼日時:2001/02/27 10:50

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

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

QDB2のSQLコマンドについて教えてください。

DB2でSQLコマンドを使って、csvファイル形式で情報を収集しています。その際に、各テーブルはスペースで区切られているため、
テーブル内の文字(たとえばOSバージョンであればWindows XP)
に空白があると、

あとからエクセルで区切るときに、正しくテーブルごとに区切れません。各テーブル間を「,」(カンマ)等で区切って、抽出できますでしょうか???

すみませんが、どうしてもわかりません。

Aベストアンサー

下記のSQL、カンマの区切の例です、ご参照ください。
EXPORT TO myfile.csv OF DEL
 select '"""' concat rtrim(charcol1) concat '""",' , '"""' concat
 rtrim(charcol2) concat '""",' , numcol3 from table
お役に立てれればうれしいです、以上です。

QSQL*Plus:SPOOLコマンドでのSQL出力

Oracle SQL*Plusで、SPOOLコマンドを使用すると、SQL実行の結果はファイルに出力されますが、実行したSQL自身が出力されません。
SETコマンドで制御できるのではないかと思いましたが、ちょっと見当たりませんでした。
何か方法はないでしょうか?
よろしくお願いします。

Aベストアンサー

SET ECHO {ON|OFF}
っていうのがあったと思いますよ

詳しくはマニュアルを参照して下さい

QSQL一発でカレンダー表示は可能ですか?

お世話になっております。

とあるログテーブルからデータを抽出する際、
日付でグルーピングをかけて集計した上、
カレンダーのような抽出結果にする必要があり、悩んでいます。
悩みどころは
・『データがない日付の場合も表示する』
・『SQL1本で出さなくてはならない』
です。

【サンプル】ログテーブル
--------------------
ログ日時 | 回数 |
--------------------
2006/07/01|  2 |
2006/07/03|  1 |
2006/07/05|  8 |
--------------------

上記テーブルから
ログ日時が2006/07/01から2006/07/05までのデータを取得した場合、
結果をこういう形で抽出したいのです。

--------------------
ログ日時 | 回数 |
--------------------
2006/07/01|  2 |
2006/07/02|    |→ログテーブルにデータ無し
2006/07/03|  1 |
2006/07/04|    |→ログテーブルにデータ無し
2006/07/05|  8 |
--------------------

データベースはsybase IQです。
なにか良い方法をご存知の方がいらっしゃいましたら
ご教示いただけませんか???

お世話になっております。

とあるログテーブルからデータを抽出する際、
日付でグルーピングをかけて集計した上、
カレンダーのような抽出結果にする必要があり、悩んでいます。
悩みどころは
・『データがない日付の場合も表示する』
・『SQL1本で出さなくてはならない』
です。

【サンプル】ログテーブル
--------------------
ログ日時 | 回数 |
--------------------
2006/07/01|  2 |
2006/07/03|  1 |
2006/07/05|  8 |
--------------------

上記テーブルから
...続きを読む

Aベストアンサー

Sybase IQでは、OUTER JOINはサポートされているのですよね?
事前準備として、カレンダー(7月なら、7月1日~31日)を管理するテーブルを作っておいて、ログの日付の情報とLEFT JOINさせた上でGROUP BYすれば、簡単な検索SQLで実現できます。

以下の例では、カレンダーを管理するテーブルには日付しか入れていませんが、休日を管理したり用途はいろいろあると思います。

1.表定義&データ例
create table user_calendar
(user_date date);
insert into user_calendar values('2006-7-1');
insert into user_calendar values('2006-7-2');
insert into user_calendar values('2006-7-3');
~中略~
insert into user_calendar values('2006-7-31');

2.ログ情報・・・既存のテーブル
create table log_table
(log_date date,
log_data varchar(100));
insert into log_table(log_date) values('2006-7-1');
insert into log_table(log_date) values('2006-7-3');
insert into log_table(log_date) values('2006-7-3');
insert into log_table(log_date) values('2006-7-3');
insert into log_table(log_date) values('2006-7-5');
insert into log_table(log_date) values('2006-7-5');
insert into log_table(log_date) values('2006-7-5');
insert into log_table(log_date) values('2006-7-5');
insert into log_table(log_date) values('2006-7-5');

3.検索SQL例
select user_date,count(log_date)
from user_calendar left join log_table
on user_date=log_date
group by user_date
order by user_date;

Sybase IQでは、OUTER JOINはサポートされているのですよね?
事前準備として、カレンダー(7月なら、7月1日~31日)を管理するテーブルを作っておいて、ログの日付の情報とLEFT JOINさせた上でGROUP BYすれば、簡単な検索SQLで実現できます。

以下の例では、カレンダーを管理するテーブルには日付しか入れていませんが、休日を管理したり用途はいろいろあると思います。

1.表定義&データ例
create table user_calendar
(user_date date);
insert into user_calendar values('2006-7-1');
in...続きを読む

QSQLで他のテーブルを参照して該当個所を一発更新したい

例えば次のような二つのテーブルがあるとします。

住所録(氏名,住所,メモ)
電話帳(氏名,電話番号)
※(住所録の氏名はキーだが電話帳の氏名はキーではない)

この時、住所録テーブルに対して、
電話帳に電話番号がない名前全てについて
メモに、"電話番号は不明"と言う更新をしたいのですが…

UPDATE 住所録 SET メモ='電話番号は不明' WHERE …

のWHERE句には何と書けばいいのか分からなくて困っています。

それともこういう時の更新はそもそも出来ないのでしょうか?
回答よろしくお願いします。

Aベストアンサー

使用のDBを書きましょう。
SQLserverと仮定します。

update (住所録、電話帳)
set 電話帳.メモ = '電話番号は不明'
from 住所録 left outer join 電話帳
   on 住所録.氏名 = 電話帳.氏名
where 電話帳.氏名 is null

かな?
元専門家より

QDB2のSQLについて

DB2のSQLについて質問があります。
以下の構文は数量という項目が??だったらそのまま数量の値を違ったら「0」を返すというSQLですが、
??の部分に「数量という項目が数値だった場合」としたいです。
理由は、親子のテーブルで外部結合をしているのですが、子テーブルの数量と親テーブルの数量を足し算した結果を出力するというSQL「(親.数量 + 子.数量) as 数量」なのです。その為、子テーブルデータが存在しない場合、「子.数量」にnullが返ってきますので以下のSQLを使用して数値だったらとしたいのですが、「??」に数値だったらと入れることができるのでしょうか?
case 数量 when ?? then 数量 else 0 end

また、他に方法があれば、ご教授お願いします。

Aベストアンサー

こんにちは。

いや・・・、CASEじゃなくて、
SELECT (親.数量 + COALESCE(子.数量, 0)) as 数量
FROM ~
でいいんじゃないかと・・・。
(^^ゞ


人気Q&Aランキング

おすすめ情報