MS SQLのクエリを使用して、私たちの "サービスセンター"に過去30日間に1回以上出品したアイテムを表示しています。必要なデータは、シリアル番号にもとづいて、最新のサービス指図に先立つサービス指図からのものです。したがって、アイテムが過去30日間に受信された場合、それが過去30日間に前回受信されたかどうかを確認してください。最後のMAX日付をジョインで取得する方法
ServiceOrdersテーブル:CustID
、ItemID
、DateReceived
ItemMasterテーブル:CustID
、ItemID
、SerialNumber
私は私がに過去月からサービスの注文をロードすることができ
ServiceOrders.DateReceived >= DATEADD(month,-1,GETDATE())
を使用してDateReceivedアイテムを取得することができますテンポラリテーブルを作成し、これを照会して以前のサービス指図を取得することができますが、それはベストプランとは言えません。以前のサービス注文を効率的に入手するためのアイデアはありますか?
例データ
ServiceOrdersテーブル:
CustID ItemID DateReceived
1 2 9/26/2016
1 2 9/05/2016
1 2 1/15/2015
5 6 9/20/2016
7 6 9/02/2016
ItemMasterテーブル:
CustID ItemID SerialNumber
1 2 8675309
5 6 101
7 6 101
そこで、上記の例では、のSerialNumber 8675309及び101は、過去30日間に複数回受信されています。 DateReceived 9/05/2016レコードと2011年9月2日のRecord(30日以内に2番目に新しいレコード)のServiceOrdersとItemMasterからのデータが必要です。両方のテーブルには他のフィールドもありますが、ここでは単純化しています。 CustIDはアイテムを転送できるので、日付から日付まで同じである必要はありません。 SerialNumberがキーです。
あなたの仕事と望ましい結果を説明するのに十分なサンプルデータを投稿してください。 –
PM 77-1に同意します。あなたが実際に何をしているかを示すサンプルデータを投稿することができれば、本当に役に立ちます。 – Connor
データとタグの例が追加されました。 –