だから私はそれがあるOrderNoとWorkCntr列に基づいて単価を合計の下に基本的に私は必要なものの列が黄色で強調表示され、SUMIFSを実行する必要があります。この非常に特殊なSUMIFSの例をSQLで複製する方法は?
SUMIFSコードは、その隣の権利でありますExcelで。私はどのようにしてSQLに変換できるかわかりません。私はCASEステートメントがSUMIFSのように機能するのを見ましたが、私はそれを理解することができませんでした。ここに私が試したものです:
SELECT
r.OrderNo,
r.JobNo,
r.PartNo,
r.WorkCntr,
r.ActualPcsGood,
o.UnitPrice,
CASE
WHEN r.WorkCntr = 'Cutting' AND r.OrderNo = '10426' THEN SUM(o.UnitPrice)
ELSE NULL
END AS [Total $ per WC per Order]
FROM OrderDet o JOIN OrderRouting r ON o.JobNo = r.JobNo
WHERE r.OrderNo = '10426'
GROUP BY r.OrderNo, r.JobNo, r.PartNo, r.WorkCntr, r.ActualPcsGood,
o.UnitPrice
ORDER BY 1, 4;
このコードの結果は、上記の私のテーブルの最初の7列です。基本的には、同じ値を返しますが、SUMの値は返しません。理想的には、ExcelのようにWHERE句の外にある注文番号と作業区を指定する必要はありません。ドラッグするだけで、数式は常にその特定の行のOrderNoとWorkCntrフィールドを読み取ります。
カラムの名前がわかると、Excelの式がわかりませんので、画像が表示されない場合があります。 –
OrderNoはセルA1にあり、それを含めるのを忘れています。列FはUnitPrice、列DはWorkCntr、列AはOrderNoです –