• ベストアンサー

UNIONと同じことを3.23でできますか

お世話になります。 4.0以降で使われているテーブルをたてに連結する UNION演算子と同じことを MySQL3.23で行う方法をどなたかご存知ないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

テンポラリに投げ込む方法があります。 単純にやるとこんな感じですね CREATE TEMPORARY TABLE `テンポラリ` SELECT * FROM `テーブルA`; INSERT INTO `テンポラリ` SELECT * FROM `テーブルB`; SELECT * FROM `テンポラリ`; しかし、この場合型がうまくつたわらないので CREATE するときにきちんと型指定をした方が間違いないです。 CREATE TEMPORARY TABLE `テンポラリ`(`ID` INT,`DATA1` VARCHAR(50),`DATA2` VARCHAR(50)); INSERT INTO `テンポラリ` SELECT `ID`,`DATA1`,`DATA2` FROM `テーブルA`; INSERT INTO `テンポラリ` SELECT `ID`,`DATA1`,`DATA2` FROM `テーブルB`; SELECT * FROM `テンポラリ`; なお当然ですが流し込んでから絞込みをするよりは 絞り込んでから流し込み、再度絞り込みをした方が効率的ですね。

gorogoro_01
質問者

お礼

なるほどテンポラリテーブルの活用があったのですね。。 それぞれのテーブルのデータを 一つのテーブルに無理やり詰め込んで管理するしかないかなあ と考えておりました。 この方法だと視認性を犠牲にせずスマートに管理できそうです。 有り難うございます。

関連するQ&A