以下に、SQL Server 2008 を使用して SAP DB でオンライン販売可能なアイテムを表示するために、スーパーマーケット データベースで使用するクエリを示します。
SELECT T0.[CodeBars], T0.[ItemName], T3.[Price], T1.[Price], T2.[ItmsGrpNam]
FROM OITM T0 INNER JOIN ITM1 T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OITB T2 ON T0.ItmsGrpCod = T2.ItmsGrpCod
INNER JOIN ITM1 T3 ON T0.ItemCode = T3.ItemCode
WHERE T0.[U_Online] = 'Y' AND T1.[PriceList] = '3' AND T3.[Pricelist]='1'
クエリは正常に機能しますが、OnHand アイテム用に別の列を追加したいと考えています。つまり、特定の倉庫 '6' に在庫があるアイテムで、オンライン販売用のすべてのアイテムがここから来ます。スーパーマーケットには8つの倉庫があります。はT0.[U_Online] = 'Y'
、倉庫に関係なくオンラインで販売された商品を示しています。
T0.[CodeBars]
以下のクエリを変更して、返されるたびに、倉庫 6 の手持商品の追加の列を取得するにはどうすればよいですか? テーブル OITW に追加の結合があります。
SELECT T0.[CodeBars], T0.[ItemName], T3.[Price], T1.[Price], T2.[ItmsGrpNam],
T4.OnHand
FROM OITM T0 INNER JOIN ITM1 T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OITB T2 ON T0.ItmsGrpCod = T2.ItmsGrpCod
INNER JOIN ITM1 T3 ON T0.ItemCode = T3.ItemCode
INNER JOIN OITW T4 ON T0.ItemCode = T4.ItemCode
WHERE T0.[U_Online] = 'Y' AND T1.[PriceList] = '3' AND T3.[Pricelist]='1'
--AND T4.WhsCode = '6'
最初のクエリのサンプル結果