読んでいただきありがとうございます!最も近い日付に基づくT-SQL JOINテーブルのテーブル
私が答えようとしている質問は、「部品を作るのにどれくらいの費用がかかりますか?生の金属ビレットを金属部品に加工して製造しています。最終部品は顧客に販売され、プロセスのスクラップメタルはスクラップヤードに販売されます。
ビジネス/ ERP構成の理由から、私たちのスクラップベンダーは顧客としてリストされ、私たちは他の顧客と同じように彼の「部品」を出荷します。これらのダミー部品は、それぞれの金属合金のためのものであるため、使用する合金ごとに1つのダミーのスクラップ部分があります。スクラップの出荷は、スクラップビンに記入するたびに行われ、定義された時間間隔はありません。
実際の部品の出荷日を同じ合金の最も近いスクラップ出荷日に接続しようとしています。それから私は、私たちが支払った1ポンド当たりのスクラップ値をつかみ、それを私たちが作る部品のために収入に含めることができます。もし私が世界に求めることができるのであれば、実際の部品を出荷する直前または直後にスクラップの梱包方法を知ることは有益です。経営者は何度か彼らの心を変えて、 「前」または「後」の数字。
私は他のソリューションを試してみて、動作させることはできません。私は叔父を泣いています、私は単にそれを働かせることはできません....私たちのERPが使用するWeb SQLインターフェイスは、T - SQLの...これまで読んでいただきありがとうございます!
私は、出力は次のようになりたいのですがされています。ここで私はまでテーブルを沸かすことができ、最も簡単なのです
Customer Part Price Alloy Weight_Lost Scrap_Value Ship_Date
ABC Widget1 99.99 C182 63 2.45 10-01-2016
:
SELECT
tbl_Regular_Sales.Customer
tbl_Regular_Sales.Part
tbl_Regular_Sales.Price
tbl_Regular_Sales.Alloy
tbl_Regular_Sales.Weight_Lost
tbl_Scrap_Sales.Price AS 'Scrap_Value'
tbl_Regular_Sales.Ship_Date
FROM
(SELECT P.Part
,P.Alloy
,P.Price
,S.Ship_Date
,S.Customer
FROM Part AS P
JOIN S AS S
ON S.Part_Key = P.Part_Key
WHERE Shipper.Customer = 'Scrap_Yard'
) AS tbl_Scrap_Sales
JOIN
(SELECT P.Part
,P.Weight_Lost
,P.Alloy
,P.Price
,S.Ship_Date
,S.Customer
FROM Part AS P
JOIN S AS S
ON S.Part_Key = P.Part_Key
WHERE Shipper.Customer <> 'Scrap_Yard') AS tbl_Regular_Sales
ON
tbl_Regular_Sales.Alloy = tbl_Scrap_Sales.Alloy
AND <Some kind of date JOIN to get the closest scrap shipment value>
私はこのパターンをたくさん使います。 'date_col <=(どこからどこかで...)を選んでください。' –