私は注文のあるテーブルを持っています。各注文はdelivery_date
とcollection_date
です。2つの日付列によるSQLの注文
私は次のことが何であるかを示す1週間のスケジュールとして注文を取得したいと思います。
私は、火曜日の納品と木曜日の納品の間に水曜日のコレクションが表示されるように、タイムシーケンスを表示したいと思います。
SQLでこれを行う方法に関するアイデアはありますか?
私は注文のあるテーブルを持っています。各注文はdelivery_date
とcollection_date
です。2つの日付列によるSQLの注文
私は次のことが何であるかを示す1週間のスケジュールとして注文を取得したいと思います。
私は、火曜日の納品と木曜日の納品の間に水曜日のコレクションが表示されるように、タイムシーケンスを表示したいと思います。
SQLでこれを行う方法に関するアイデアはありますか?
ユニオンALLを使用して、私はあなたの注文記録をそれぞれ2つのレコードとして扱います:1つは配送用、もう1つはコレクション用です。別の日付(修復?)があった場合は、同様のフィールドを持つ別のサブクエリを結合します。
ご注文の表に仕様を記載していないため、私はこれを多く取り上げました。
select *
from (
Select OrderID
, 'Colection' as VisitType
, Collection_Date as VisitDate
from Orders
Union All
Select OrderID
, 'Delivery' as VisitType
, Delivery_Date as VisitDate
from Orders
) as v
order by v.VisitDate
れ、使用しているデータベースによっては、
ORDER BY CASE WHEN delivery_date > collection_date
THEN collection_date ELSE delivery_date END
使用している何datbaseの線に沿って何かでしょうか? MySQL、Oracle? MSSQL? SQLite?日付データを異なる方法で扱い、異なる名前の関数を扱います。すべての回答は、おそらく特定のベンダーに依存するでしょう。 – FrustratedWithFormsDesigner