• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessで差分取得する方法は? LEFT JOIN エラー)

Accessで差分取得!LEFT JOINエラーを解決する方法とは?

このQ&Aのポイント
  • Accessで差分抽出する方法を教えてください。新旧テーブル間の関連がない場合にはどうすればいいのでしょうか?
  • 旧テーブルと新テーブルを比較して、差分を取得する方法を教えてください。
  • LEFT JOINを使用して差分抽出を行おうとしたが、エラーが発生してしまいます。解決策を教えてください。

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

また違ってましたね。 SELECT T2.* FROM T2 LEFT JOIN T1 ON T2.number = T1.number AND T2.class = T1.class WHERE T1.class Is Null OR T1.number Is Null

xespr
質問者

お礼

大正解です!ありがとうございます。

その他の回答 (2)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

あ、もしかしたらこういうことだったのかな? SELECT T2.* FROM T2 WHERE T2.class Not In (Select Distinct Class From T1) OR T2.number Not In (Select Distinct Number From T1)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

LEFT JOIN エラーと言っても、 【ダメだったクエリ】は INNER JOIN になっていますが。 SELECT T2.* FROM T2 LEFT JOIN T1 ON T2.id = T1.id WHERE T1.id Is Null これで、望む結果が得られます。

xespr
質問者

補足

>LEFT JOIN エラーと言っても、 >【ダメだったクエリ】は INNER JOIN 本当ですね(^^; 失礼しました。 id は一意にするためのキーで、新旧の関連性はないのです。 class と number が一致すれば、同一レコード(新レコードと旧レコード)となります。 idは言わば、各テーブル内の行番号です。 SQLでは無視していただいて良いです。 【新テーブル】t2 id, class, number, value 11, "a", 1, "aka" 52, "a", 2, "更新" 63, "a", 3, "aku" 84, "a", 4, "新規" 105, "b", 1, "新規"

関連するQ&A