1

MySQL クエリがうまく動作しません。これがセットアップです。

顧客から、いくつかの会計データからレポートを作成するように依頼されました。彼は、日付 (および場合によっては他の基準) を選択し、次のすべて (OR ステートメント) を返すようにしたいと考えています。1.) その日付以降に挿入されたすべての請求書挿入日が選択した日付以降の別のテーブルに、対応する支払いがあります。

最初の句は基本的なものですが、2 番目の句と組み合わせるのに苦労しています。

SQL Fiddle で比較可能な一連のテスト データを作成しました。私が現在持っているクエリが提供されます。 http://www.sqlfiddle.com/#!2/d8d9c/3/2

フィドルのコメントにあるように、私は 2013 年 7 月 1 日を選択した日付として作業しています。テストが機能するには、請求書 1 から 5 が表示される必要がありますが、請求書 6 は必要ありません。

4

2 に答える 2

0

これを試して。

http://www.sqlfiddle.com/#!2/d8d9c/11/2

TL;DR:

… AND (i.dateadded > @startdate
     OR EXISTS (
       SELECT * FROM test_payments
       WHERE test_payments.invoiceid = i.iid
       AND  test_payments.dateadded >= @startdate))
于 2013-10-22T18:10:30.817 に答える