MS-Access 2016を使用しています。何年もの間データベースを手に入れましたが、厳密にはアマチュアです。私はおそらくいくつかの明白な答えが不足していますが、私のすべての "左の結合は1つの行だけを表示する"検索でそれを見つけることができませんでした。 Paradox(DOS)でこの問題が発生したことはありませんでした。ここで私が立ち往生している場所を示すサンプルデータがあります。この左の結合クエリは、左のテーブルのすべての行を返さないのはなぜですか?
Table 1 - Customers
CustID* | Name
1 | Jane Doe
2 | Jill Doe
3 | John Doe
Table 2 - Orders
OrderID* | CustID | Order
1 | 1 | Orange
2 | 1 | Banana
3 | 2 | Orange
4 | 2 | Apple
5 | 2 | Banana
6 | 3 | Apple
7 | 3 | Strawberry
8 | 3 | Banana
私は、彼らが持っているか、イチゴを持っていなかったかどうかを示し、すべての顧客のリストが欲しいです。
Name | Order
Jane Doe | (null)
Jill Doe | (null)
John Doe | Strawberry
私が使用しているクエリは次のとおりです:
それは返す何SELECT Customers.Name, Orders.Order
FROM Customers LEFT JOIN Orders ON Customers.CustID = Orders.CustID
WHERE (((Orders.Order)="Strawberry"));
:それは、結果がどのように見えるべきである ジョン・ドウ|ストロベリー
何か魂は私が逃しているものを教えてください?前もって感謝します!
既に試しました。動作しません。 1つのレコードを返します:John Doe |イチゴ。 – jalong
実際には、なぜ、左結合がその性質上、すべてを供給する必要がある場合、追加の選択基準を提供する必要があるのはなぜですか?左のテーブルのすべてのレコード?それはこれについてとても奇妙なことです。 – jalong
私は自分の答えを編集しました – EliteRaceElephant