質問: sql:access:プライオリティが異なる2つのテーブルのマージ みなさん、こんばんは。 下記のような tblmain、tblsub という2つのテーブルをマージするにあたって、 主キーが同じであるレコードがそれぞれのテーブルに存在する場合には、 tblmain を優先させ、tblresult のような結果を得たいのですが、 どのように sql を記述すればよいのでしょうか? db は access2000 を使用しています。 どうぞ、よろしくお願いいたします。 tblmain 1 aaa 4 bbb 8 ccc tblsub 1 xxx 2 ttt 3 yyy tblresult 1 aaa 2 ttt 3 yyy 4 bbb 8 ccc
回答: メインの全レコードと、サブとメインの不一致クエリーから求めたサブのレコードをunionで和を求めています。 select f1, f2 from tblmain union all select s.f2, s.f2 from tblmain as m right join tblsub as s on m.f1 = s.f1 where isnull(s.f2); #sqlを回答してもらいたかったらフィールド名くらい書いておきましょうね。