Access2003のクエリでよければ。
SELECT IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[Bコード],[テーブルA].[Aコード]) AS コード, IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[名称],[テーブルA].[名称]) AS 名称, IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[住所],[テーブルA].[住所]) AS 住所
FROM テーブルA RIGHT JOIN テーブルB ON テーブルA.Aコード = テーブルB.Aコード
GROUP BY IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[Bコード],[テーブルA].[Aコード]), IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[名称],[テーブルA].[名称]), IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[住所],[テーブルA].[住所])
ORDER BY IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[Bコード],[テーブルA].[Aコード]);
質問者
お礼
ご回答有難うございました。
IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[Bコード],[テーブルA].[Aコード]) を
CASE WHEN テーブルA.Aコード IS NULL THEN テーブルB.Bコード ELSE テーブルA.Aコード END
に置き換えることでできました。バッチリです。
非常に勉強になりました。ありがとうございました。
お礼
ご回答有難うございました。 IIf(IsNull([テーブルA].[Aコード]),[テーブルB].[Bコード],[テーブルA].[Aコード]) を CASE WHEN テーブルA.Aコード IS NULL THEN テーブルB.Bコード ELSE テーブルA.Aコード END に置き換えることでできました。バッチリです。 非常に勉強になりました。ありがとうございました。