我正在考虑制作一个新列,其中包含一列原始数据与案例陈述结果的总和。
示例:
SKU StandardCost AddOn Combined
--- ------------ ----- --------
001 0.578271 0.040194 0.618465
070 0.290721 0.039425 0.330146
223 0.446990 0 0.446990
AddOn
列是基于Case语句的计算字段。我想在我的代码中创建Combined
列...是否可能?
谢谢! Rob =)
我正在使用我正在处理的代码进行更新...
select
ItemKey as 'Product Number',
ltrim(Rtrim([ItemKey]))+'_'+ltrim(rtrim([Plant]))+'_'+ltrim(rtrim([Location])) as 'Key',
[Item Desc] as 'Product Description',
Plant as 'Location',
[Location] as 'Warehouse',
StandardCost as 'Variable Cost',
--Add on costing
CASE
WHEN subString(ItemKey,1,4) = '3121' AND subString(ItemKey,10,3) = '010' then ((SELECT -- Calculating Tanker pricing for WE *NP product (Pas & Raw)
StandardCost
FROM
Standard_Cost
WHERE
Year=2099 --Standard Cost Variable filter
and ItemKey = '3121-000-010-001'
and [Location] = 'DNEO')-
(SELECT
StandardCost
FROM
Standard_Cost
WHERE
Year=2099
and ItemKey = '2121-000-010-001'
and [Location] = 'DNEO'))
WHEN subString(ItemKey,1,4) = '3141' AND subString(ItemKey,10,3) = '010' then ((SELECT -- Calculating Tanker pricing for Yolk egg product (Pas & Raw)
StandardCost
FROM
Standard_Cost
WHERE
Year=2099 --Standard Cost Variable
and ItemKey = '3141-000-010-001'
and [Location] = 'DNEO')-
(SELECT
StandardCost
FROM
Standard_Cost
WHERE
Year=2099
and ItemKey = '2141-000-010-001'
and [Location] = 'DNEO'))
WHEN subString(ItemKey,1,4) = '3181' AND subString(ItemKey,10,3) = '010' then ((SELECT -- Calculating Tanker pricing for Albumen (White) egg product (Pas & Raw)
StandardCost
FROM
Standard_Cost
WHERE
Year=2099 --Standard Cost Variable
and ItemKey = '3181-000-010-001'
and [Location] = 'DNEO')-
(SELECT
StandardCost
FROM
Standard_Cost
WHERE
Year=2099
and ItemKey = '2181-000-010-001'
and [Location] = 'DNEO'))
ELSE 0
END as 'Add On'
FROM
Standard_Cost
WHERE
[YEAR] = 2099 --2099 defines variable cost, 2017 or current year is standard cost
AND substring(ItemKey,4,1) <> '6' --OES products are not to show in the list
AND [Location] in ('AREM', 'AWAME', 'AWCHE', 'AWLEM', 'FABB') -- selected locations to display
ORDER BY
1 ASC,
2 ASC
答案 0 :(得分:1)
当然......但你不需要案例陈述。
select
*
,Combined = StandardCost + AddOn
from
YourTable
如果您确实需要案例陈述,那就像......
select
*
,Combined = case when someColumn = 'someThing' then StandardCost + AddOn end
from
YourTable