私は3つのPostgreSQLのテーブルを持っています:住所、郵送物、およびスケジュール。 出荷とスケジュールにはどちらも住所用の外部キーがあります。3つのテーブルをリンクし、要件に一致するデータを見つける
アドレステーブルは、アドレスに関する情報があります。idは、名前、番号、通り、状態、 ファスナーを出荷テーブル有する:ID、追跡番号、date_ship_onは、 address_idをスケジュールテーブル有する:ID、日曜日、月曜日、
例:id:2、sunday = false、monday = true、tuesday = true、wednesday = true、thrusdayの各日は、 = false、friday = false、saturday = false、type = 'reporting'、address_id = 1
私がしようとしているのは、3つのテーブルをリンクして、船員を持たない住所を見つけることです昨日送信され、それはタイプ '報告'のスケジュールに基づいているはずだった。たとえば、シカゴ、LA、NYCの3つの住所があります。今日は火曜日です。シカゴは昨日2つの出荷を出しました(出荷日はdate_shipped_onに保存されているため、昨日の日付があり、昨日はこれからでしたLAとNYCは何も送っていないが、シカゴとLAはともに月曜日には報道スケジュールに当てはまるがNYCはそうではなかった。私が戻ってくるべきことは、月曜日に発送された郵便物を持っていなかったので、私の結果からLAだったが、予定に基づいていた。前日にこのレポートを毎日実行します。
私は少し違ったことを試みましたが、運が悪いです。どんな助けでも大歓迎です。
タイムスタンプの下限は(真夜中が有効かもしれないので)包括的であるべきですが、上限は排他的です( "today"の前のすべて)。 point of style:通常、 'WHERE'節を' FROM'節参照と比較する条件だけに予約し、 'ON'節の一部として他の結合を参照する他のすべての条件を置きます。これは彼らが操作するもののローカルな状態を保つ。 –