それを機能させる唯一の方法は、3つのフィールドで結合を残すことであるというクエリがあります。これらの3つのフィールドで通常の内部結合を行った場合、クエリは何も返しませんでした。しかし、個々の参加を個別に試してみると、ボブからボブ、書店から書店、パンからパンなど、すべてが期待どおりに参加します。
したがって、これら2セットのクエリ結果については...
1.Manager 1.Shop 1.Product 1.Cost 2.Manager 2.Shop 2.Product 2.Quantity
Bob Hardware Spanners 15 Bob Hardware Spanners 3
Terry Food Bread 12 Terry Food Bread 4
Sue Bookshop Books 18 Sue Bookshop Books 7
...このクエリは結果を返しません:
SELECT 1.Manager, 1.Shop, 1.Product, 1.Cost, 2.Quantity
FROM 1 INNER JOIN 2 ON 1.Manager = 2.Manager AND 1.Shop = 2.Shop AND 1.Product = 2.Product;
テキストに参加するのは理想的ではないことは知っていますが、これら3つのフィールドに問題なく参加する同様のクエリがあるので、それが私が遭遇したAccessの「機能」なのか、それとも問題になる可能性があるのか疑問に思いました。データ?
-編集-
代わりにJOIN条件をWHERE句に入れることにより、WHERE 1.Manager = "Bob" AND 2.Manager = "Bob:
WHERE 1.Product = "Spanners"
単独で動作し、次のようになります。
WHERE 2.Product = "Spanners"
単独で動作しますが、2つを組み合わせます。
WHERE 1.Product = "Spanners" AND 2.Product = "Spanners"
再び何も返しません!
-編集2-
メインクエリは、テーブル内のデータを参照しているときに実際に正しく動作します。したがって、基本クエリが結果を返す方法に奇妙なことがあるかもしれません。
-編集3-
これは問題の例へのリンクです:[リンクが削除されました]
01トップレベルのクエリ:これらは両方とも同じですが、1つはテーブルを参照し、機能します。もう1つはクエリを参照しており、機能しません。クエリバージョンが機能しない理由を知りたい。
02第2レベルのクエリとテーブル:データの各セットには2つのバージョンがあります。1つはクエリで、もう1つはクエリのMakeTableバージョンを使用して作成されたテーブルです。私の知る限り、どちらも同じです。
03および04レベルのクエリ:これらは、第2レベルのクエリを構成する低レベルのクエリです。
テーブル:これらは、他のすべてのクエリの基礎となるベーステーブルです。