by shigemk2

当面は技術的なことしか書かない

条件つきでunionしたテーブルを新規作成する

最初は、

CREATE TABLE Aテーブル ENGINE=MERGE
union = (
テーブル1,
テーブル2,
.....
)

みたいにしてやろうと思ったけど、unionしたいテーブルでwhere句で中身を指定したいときはどうしたらいいんだろう…ってなった。

で、アプローチを変えて、空のテーブルを作ってからINSERT INTO SELECTで条件を指定したレコードを流せばいいんじゃないかって思った。

INSERT INTO で3つのテーブルを一つにしたい場合 --Access Club 超初心者 FORUM--

INSERT INTO Aテーブル 
SELECT T.* FROM 
(SELECT * FROM Bテーブル WHERE ...
UNION ALL
SELECT * FROM Cテーブル WHERE ... 
UNION ALL
SELECT * FROM Dテーブル WHERE ...
) AS T