0
私はSQLを初めて使っていますが、実際にそれを楽しんでいます。SQL - If Statement inside DateAdd
私のコードでは、3つのテーブルをまとめてマージし、そのマージのためのいくつかの列を作成しています。私は列 "DaysOfStock"を作成し、現在の日付に各列の番号を追加したいと思います。問題は "DaysOfStock"が "if"関数なので、 "DayAdd"関数に追加する方法がわかりません。私のコードのセクションは以下の通りです。
SELECT Cust.Article,
IsNull(stock.StockQuantity,0) StockQuantity,
IsNull(orders.OpenQty,0) OpenOrders,
IsNull(usage.[3MonUsage], 0) [3MonUsage], IsNull(usage.EAU, 0) [EAU],
ROUND(IsNull(usage.EAU, 0)/366,0) DailyUsage,
CASE WHEN IsNull(usage.EAU, 0)/366 = 0 THEN ROUND(IsNull(stock.StockQuantity,0)/(IsNull(orders.OpenQty, 0)/366),2)
ELSE ROUND(IsNull(stock.StockQuantity,0)/(IsNull(usage.EAU, 0)/366),2) END AS DaysOfStock
DateAdd(day, **DaysOfStock**, GetDate())
FROM TeslaArts
LEFT OUTER JOIN usage ON CustArts.Article = usage.Article
LEFT OUTER JOIN stock ON CustArts.Article = stock.Article
LEFT OUTER JOIN orders ON CustArts.Article = orders.Article
WHERE (orders.OpenQty > 0 AND usage.[3MonUsage] > 0)
OR (orders.OpenQty = 0 AND usage.[3MonUsage] > 0)
OR (orders.OpenQty > 0 AND usage.[3MonUsage] = 0)
不明な点がある場合は教えてください。 事前にお手数をおかけしていただきありがとうございます。 -alex