私は次の問題があります。左側のすべての行がWhere句と一致しないまま左寄せ
私はアカウントテーブルとアカウントテーブルのエントリを持っています。 が ACCOUNT_NAME
entry_id
account_idfk
entry_date
entry_amount
をACCOUNT_ID今、私は与えられた期間内にすべてのアカウントのすべてのエントリを照会します。例えば。 2008年10月から2009年10月までのすべてのアカウントのすべてのエントリーが欲しいです。このアカウントのエントリーがまったくない場合、またはこのアカウントの他の時間枠にエントリーしかない場合は、アカウントも返されます。
エントリがまったくない場合、またはこのアカウントのこの期間のエントリがある場合は、現在のクエリが機能します。ただし、他の時間枠のエントリしか持たないアカウントは除外されます。
SELECT * FROM Account a
LEFT JOIN Entries e ON e.account_idfk = a.account_id
WHERE e.entry_date BETWEEN '2009-08-13' AND '2009-08-13'
OR e.entry_date IS NULL
where句に問題があることは知っています。他の期間のエントリのみが存在するすべてのアカウントを削除します。
しかし、私はどのように望ましい結果を得るために、クエリを修正再表示には考えている...
おかげで、 マーティン
こんにちはEric!そのすばらしい返答をいただきありがとうございます。 私はJOINにも条件があることは知りませんでした。 –