No.5ベストアンサー
- 回答日時:
Oracleの場合、"create table **** as select ~"
を実行すれば、検索結果に従ったテーブルを作成できます。
Oracleのユーザ"scott"で説明します。
ユーザ"scott"で以下のSelect文を実行してください。
[実行SQL文]
select dept.deptno, dept.dname, emp.empno, emp.ename
from dept, emp
where dept.deptno=emp.deptno and
dept.deptno=10;
↓
[実行結果]
DEPTNO DNAME EMPNO ENAME
------------------------------------------
10 ACCOUNTING 7782 CLARK
10 ACCOUNTING 7839 KING
10 ACCOUNTING 7934 MILLER
次に、この検索結果を元に新規にテーブルを作成するSQL文を実行します。
[実行SQL文]
create table test1 as
select dept.deptno, dept.dname, emp.empno, emp.ename
from dept, emp
where dept.deptno=emp.deptno and
dept.deptno=10;
上記のテーブルの内容を確認します。
[実行SQL文]
select * from test1;
↓
[実行結果]
DEPTNO DNAME EMPNO ENAME
------------------------------------------
10 ACCOUNTING 7782 CLARK
10 ACCOUNTING 7839 KING
10 ACCOUNTING 7934 MILLER
No.6
- 回答日時:
単純な方法ですが、以下のような方法はどうでしょうか?
・create_tableコマンドで、新しいテーブルを作成する。
・insert into 新テーブル名 select ~~ from ~~;
と新しいテーブルにデータを投入するsqlを発行する。
あまり、難しく考えないで簡単なコマンドを組み合わせで
もできるかと思います。
(注.ユーザサービス中はDBの整合性を考えるとできない
コマンドですので、サービス時間外にしてください。)
fm0606さんの質問と回答ズレてますか?
No.4
- 回答日時:
再びstorkです。
>そのテーブルの中にはvarchar型とかそういった情報とかはいらないのですか
SQLサーバーで確認したところ、もとの列のデータ型が引き継がれるようです。
列名はselect句で使用している列名がそのまま新しいテーブルの列名になります。
その他の製品については、詳しくは分かりませんがほぼ同じだと思います。
>ただ単にテーブルを作ってそのまま上の文で作れるのでしょうか?
#3の例はテーブルを作成しますので、あらかじめテーブルを作成する必要はありません。
既にテーブル名が存在する場合は、エラーになるか確認のメッセージが表示されると思います。
既に存在するテーブルに追加する場合は、oribeyakiの回答にあるようにinsert into句を使用します。
oribeyakiさんも書いてらっしゃいますがデータベースは何を使っているんですか?ものによっては製品固有の部分がひっかかるかもしれません。
この回答への補足
何度もすみません。
オラクル8iを使っています。
何度もためしているのですが、うまいこといきません。
WHEREの条件にはなにをいれればよいのですか?
前の文ではある元のテーブルの条件一つしか入ってなかったですが・・・。
お手数かけます。
No.3
- 回答日時:
例をひとつ。
select tableA.col1,
tableB.col1
into 新しいテーブル名
form tableA join tableB
on tableA.col1 = tabeleB.col1
where tableA = 'XXX'
普通にselect文を作成した後に、fromの前に「into 新しいテーブル名」を入れるだけです。
マウス操作でもっと簡単にできますが、製品ごとの固有の部分になるのでパスします。
この回答への補足
質問です。新しいテーブルと書いてあるのですが、そのテーブルの中にはvarchar型とかそういった情報とかはいらないのですか?
ただ単にテーブルを作ってそのまま上の文で作れるのでしょうか?
No.2
- 回答日時:
おはようございます。
DBが記入されてないので、代表的なところでいくつか・・・
Accessの場合
「Select 必要項目 Into 新規テーブル名 From 元テーブル1と元テーブル2のリレーション Where 条件」
の1文でできます。
Oracleの場合
2文になります。
「Create Table 新テーブル(必要項目)」
「Insert Into 新テーブル名 (入力項目) Select 必要項目 From 元テーブル1と元テーブル2のリレーション Where 条件」
こんな感じです。
実表を作る必要が無いのであれば、仮想表(Viewとかクエリー)で対応することも可能です。
また、SQL文といってもDBにより少しづつちがうので、できればDBの種類だけでも書いておいてくださいね。
何かあれば補足してください。
No.1
- 回答日時:
SELECT ~ INTO ~
こちら(参考URL)はPostgreSQLのものですが、お使いのDBMSでも使用出来るはずです。
参考URL:http://pjam.jpweb.net/pgsql-doc/ej/user/sql-sele …
この回答への補足
素人なもので、あのホームページではちょっとわかりかねます。
なにか簡単な例文を書いていただけるととてもありがたいです。お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- その他(Microsoft Office) エクセルでテーブルの最終行が自動追加されない 1 2023/01/04 15:09
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- JavaScript html javascriptにてWeb SQLを操作したい。 2 2022/12/16 17:43
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
db2にて数値を3桁文字にて出力...
-
SQLServerのテーブル定義書(?...
-
列の既定値を取得したい
-
大量データの取得処理について
-
ACCESSのテーブルを毎日定刻に...
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
異なるスキーマからデータを抽...
-
DELETE文でFROM句を省略した場合
-
SQLでスキーマ名(所有者名)の...
-
Data Pump で大量データインポ...
-
postgreSQLのint型は桁数指定が...
-
ACCESS 複数テーブル・複数フィ...
-
count(1)とcount(*)の違い
-
CLOB型へのINSERT
-
ORA-00959: 表領域'****'は...
-
datapumpの実行方法について
-
truncate文で全テーブルを一気...
-
Access レコードを追加できませ...
-
テーブルからのselectにおいて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量データの取得処理について
-
列の既定値を取得したい
-
SQLServerのテーブル定義書(?...
-
ACCESS2002のupdateの副問合せ...
-
db2にて数値を3桁文字にて出力...
-
PL/SQLでテーブル名に変数を使...
-
ACCESSのテーブルを毎日定刻に...
-
SQLite C/C++ でのテーブル数...
-
ACCESSエラー「制限されたデー...
-
登録する方法
-
Sybaseにてupdate時に特定のInd...
-
PostgreSQL:ラジオボタンを用い...
-
Viewにインデックスは張れ...
-
データを削除しても表領域の使...
-
異なるスキーマからデータを抽...
-
CLOB型へのINSERT
-
Data Pump で大量データインポ...
-
ACCESS 複数テーブル・複数フィ...
-
postgreSQLのint型は桁数指定が...
-
SQLでスキーマ名(所有者名)の...
おすすめ情報