0

table2にレコード/行が存在しないtable1からカウントを実行しています

クエリは次のとおりです。

select count(1) from table1
where not exists (select 1 from table2 where
                  table1.col1 = table2.col1
                  and table2.id=1)

table2で欠落しているレコードを確認する必要があります。そのIDはtable2=1であり、これらのレコードはtable1で使用できるはずです。ここでのPKはcol1です。

クエリは0を返します。しかし、Excelシートを実行すると、両方のテーブルを削除してExcelを比較します。table1から欠落していてtable2で使用可能な1591レコードを見つけることができます。

4

1 に答える 1

0

クエリは正常に機能しています。

table1クエリを実行すると、存在するが存在しないレコードが検索されますtable2

table1EXISTSおよび EXISTS のExcel レコードが見つかりました。table2

これらのレコードを SQL で検索したい場合、クエリは次のようになります。

select count(1) from table2 
where table2.id=1 and table2.col1 not in (select col1 from table1)

または、このクエリのバージョンが存在しない場合:

select count(1) from table2 
where table2.id=1 and 
      not exists (select 1 from table1 where table1.col1=table2.col1)

クエリをテストしませんでした。

于 2013-03-07T07:37:32.560 に答える