質問:
テーブルのなかから一定の条件で抽出したテーブルを作成する処理についてお聞きできればと思っております。
mysqlでのmargeについては複数のテーブルを1つにマージすることができることはわかったのですが、マージではなくて、特定のテーブルからデータをselectして別の仮想の論理テーブルを作成して、そちらの論理テーブルをもとにデータの読み書きを行うような方法はあるのでしょうか?
(PHPでselectすればいいだけなのですが、書き換え箇所が多数にのぼるため、できればPHPのソースの書き換えをテーブル名の変更だけですますことが出来ればと思いまして。)
答え:
MySQLも5.0からはVIEWが使えます。「論理テーブル」ってことでは
一番近いものでしょう。
それ以前のバージョンであればTEMPORARY TABLEを使うってぐらいでしょうか。ただそれでは選択は出来ても反映はできません。
補足の質問:
大変ありがとうございます。本などを見てもわかりませんでした。おかげで開発工数を大幅に減らすことができます。
他の御回答いただいた方々もありがとうございました。参考にさせていただきます。この質問・回答は役に立ちましたか?
答え:
SELECT-INSERTはいかがでしょうか。ただし、あらかじめ仮想テーブルをCREATEする必要があります。

元テーブルと、仮想テーブルのカラム構成が同じでしたら、
INSERT INTO 仮想テーブル SELECT * FROM 元テーブル WHERE 元テーブルからの抽出条件;

カラム構成が違う場合は、指定してあげてください。
INSERT INTO 仮想テーブル(カラム1, カラム2) SELECT カラム1, カラム2 FROM 元テーブル WHERE 元テーブルからの抽出条件;
他は答える:
select * into newtable from oldtable where xxxxxxxx
では?
直接指定したテーブルを作って、データを放り込む。

ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.

  • すみません、カテがわかりません。合併して1年経ち...
  • WIN XPの起動時 毎回、自動起動まで何秒の文字が出て...
  • MySQLを利用するために共用サーバーを借りました。...
  • PCに保存している動画(一時間程の番組ですが)を「携...
  • サーバーのエラーが多いのは暑いせいですか?教えて...
  • Outlook Express のメールアカウントで、プロパティの...