Accessで差分抽出するSQLを教えてください。
【旧テーブル】t1
id, class, number, value
1, "a", 1, "aka"
2, "a", 2, "aki"
3, "a", 3, "aku"
【新テーブル】t2
id, class, number, value
1, "a", 1, "aka"
2, "a", 2, "更新"
3, "a", 3, "aku"
4, "a", 4, "新規"
5, "b", 1, "新規"
【ダメだったクエリ】
SELECT t2.*
FROM t2 INNER JOIN t1
WHERE t1.class IS NULL OR t1.number IS NULL
【望む結果】
4, "a", 4, "新規"
5, "b", 1, "新規"
*列 id は各テーブルの主キーですが、新旧テーブル間の関連はありません(リレーションではありません)。
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)
No.1
- 回答日時:
LEFT JOIN エラーと言っても、
【ダメだったクエリ】は INNER JOIN になっていますが。
SELECT T2.*
FROM T2 LEFT JOIN T1 ON T2.id = T1.id
WHERE T1.id Is Null
これで、望む結果が得られます。
この回答への補足
>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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
アクセスのテーブルの差分の抽出について
Access(アクセス)
-
ACCESSのSQL
Access(アクセス)
-
「#エラー」の回避
Access(アクセス)
-
-
4
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
5
【access】複数のフィールドの不一致クエリ
Visual Basic(VBA)
-
6
ACCESS 複数テーブル・複数フィールドを参照する不一致クエリ
Access(アクセス)
-
7
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
sqlで、600行あるテーブルを100...
-
URL と行番号の指定
-
複数JOINしているとCOUNTが正し...
-
VIEWの元のテーブルのindexって...
-
エクセルの関数について教えて...
-
複数テーブルのGROUP BY の使い...
-
selectした大量データをinsert...
-
SQLサーバから、項目の属性(型...
-
副問合せの書き方について
-
inner joinをすると数がおかし...
-
insertを高速化させたい
-
MySQL5.1.14で空白を入れるとエ...
-
#1136 - Column count doesn't ...
-
SELECT句の指定フィールドに固...
-
フィールド名を変数で指定するには
-
Unionした最後にGROUP BYを追加...
-
MySQLのint型で001と表示する方...
-
テーブル名を省略して「h.id」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
VIEWの元のテーブルのindexって...
-
SQLサーバから、項目の属性(型...
-
select文のwhere句に配列を入れ...
-
副問合せの書き方について
-
マイクラPC版のコマンドで効率...
-
Unionした最後にGROUP BYを追加...
-
selectした大量データをinsert...
-
SQLにて特定の文字を除いた検索...
-
[SQLServer] テーブル名からカ...
-
1テーブル&複数レコードの更新...
-
inner joinをすると数がおかし...
-
クエリ表示と、ADOで抽出したレ...
-
ある条件の最大値+1を初番する...
-
sqlで、600行あるテーブルを100...
-
複数テーブルのGROUP BY の使い...
-
insertを高速化させたい
-
PL/SQLの変数について
-
キー毎の、ある列のmaxのレコー...
おすすめ情報