0

私は基本的に、今週のすべての請求書のフィルター処理されたリストを表示するレポートを作成しようとしています。(このレポートは水曜日に行われるため、先週の水曜日以降のすべての請求書)

これは、WHERE ステートメントのコードです。

WHERE e.TotalCount = 1 OR e.LastThreeMonths = 1
AND OINV.[TaxDate] >= (GETDATE() - 7)

最初の部分 (e.TotalCount....) は問題なく適合しますが、2 番目のフィルターを使用しても、クエリは日付に関係なくすべての結果を返します。

私は完全なばかですか、それともこれは期待どおりに機能するはずですか..?

4

1 に答える 1

1

2 番目の条件と 3 番目の条件を区切るために括弧を追加します。

WHERE (e.TotalCount = 1 OR e.LastThreeMonths = 1)
     AND OINV.[TaxDate] >= (GETDATE() - 7)

ANDよりも優先されるORため、条件は日付要件をすべての明細に適用するのではなく、e.LastThreeMonths = 1

于 2013-08-05T14:26:46.063 に答える