1

倉庫間で転送する最適な数量を見つけるクエリに取り組んでいます。WarehouseA単一のクエリで、アイテム コード、 のアイテムの再注文ポイント、 のアイテムの再注文ポイント、および とWarehouseBの両方の再注文ポイントの合計を取得しようとしています。WarehouseAWarehouseB

私は GUI を使用しているので、Item Code フィールドと ROP (Reorder Point) フィールドを 3 回呼び出してみました。

SELECT ItemCode, ROP, ROP, ROP
FROM Inventory

3 つの ROP フィールドをそれぞれ独自の方法でフィルタリングする方法はありますか? たとえば、最初の ROP フィールドはwhse=A再注文ポイントを示し、2 番目の ROP フィールドは再注文ポイントを示しwhse=B、3 番目の再注文ポイント フィールドは 2 つの合計を示します。

4

2 に答える 2

1

インライン選択を使用します。

SELECT
    ItemCode,
    (SELECT ii.ROP FROM Inventory ii WHERE ii.ItemCode = oi.ItemCode AND ii.whse='A') AS ROPA,
    (SELECT ii.ROP FROM Inventory ii WHERE ii.ItemCode = oi.ItemCode AND ii.whse='B') AS ROPB,
    (SELECT ii.ROP FROM Inventory ii WHERE ii.ItemCode = oi.ItemCode AND ii.whse='C') AS ROPC
FROM Inventory oi

上記はそれItemCodeが鍵であると仮定しています。

于 2013-04-12T15:25:04.807 に答える
0

あなたの質問を正しく理解した場合:

SELECT
    I.ItemCode, 
    WHA.ROP AS A_ROP,
    WHB.ROP AS B_ROP,
    ISNULL(WHA.ROP,0) + ISNULL(WHB.ROP,0) AS Total_ROP
FROM
    Inventory AS I
LEFT JOIN
    WarehouseA AS WHA ON (WHA.ItemCode = I.ItemCode)
LEFT JOIN
    WarehouseB AS WHB ON (WHB.ItemCode = I.ItemCode)
于 2013-04-12T15:31:02.197 に答える