質問失礼します。
4つのテーブルとフィールドが下のようにあります。
テーブル1
ID 社員番号 枝番号 社員名
1 00123 45 あいう えお
2 05689 25634 かきく けこ
3 36789 3 さしすせそ
テーブル2
ID 社員番号 枝番号 社員名
1 00123 45 あいう えお
2 23458 365 たちつ てと
3 58904 3 なにぬ ねの
テーブル3
ID 社員番号 枝番号 社員名
1 89323 271 はひふ へほ
2 23458 365 たちつ てと
3 36789 3 さしすせそ
テーブル4
ID 社員番号 枝番号 社員名
1 72635 89 まみむ めも
2 02876 498 やいゆ えよ
3 67398 98 らりる れろ
テーブル1のレコードがテーブル2から4にあるどれかのレコードと一致した場合、
新しくテーブル5にID、社員番号、枝番号、社員名を表示するクエリを作成したいです。
上の例でいえば
テーブル5
ID 社員番号 枝番号 社員名
1 00123 45 あいう えお
3 36789 3 さしすせそ
となるようにしたいです。
以前こちらで質問させていただき、その際受けたアドバイスで
下のようなクエリを作成しましたが、
下のクエリは「テーブル1のうち、テーブル2から4と一致しないレコード」
を抽出するレコードになるので、
このクエリを改変して上記のようなレコードを抽出できないかなと
考えています。
どこを変えたらできるようになるのかどうかご教示ください。
INSERT INTO テーブル5(ID)
SELECT max(q.ID) AS ID
FROM(SELECT ID,社員番号,枝番号,1,As flag
FROM テーブル1
UNION ALL
SELECT 0,社員番号,枝番号,2
FROM テーブル2
UNION ALL
SELECT 0,社員番号,枝番号,3
FROM テーブル3
UNION ALL
SELECT 0,社員番号,枝番号,4
FROM テーブル4
)AS q
GROUP BY q.社員番号,q.枝番号,
HAVING(((Max(q.flag))=1))
ORDER BY Max(q,ID);