Tsql 基于列值乘以列的组合
如何基于一列中的值乘以列的值 范例Tsql 基于列值乘以列的组合,tsql,calculated-columns,Tsql,Calculated Columns,如何基于一列中的值乘以列的值 范例 Col1 Col2 Col3 Col4 10 10 10 casea (multiply col1 * col2) 20 20 20 caseb (multiply col1 * col3) 30 30 30 casec (multiply col2 * col3) 类似以下的查询: select col1, col2, col3, col4
Col1 Col2 Col3 Col4
10 10 10 casea (multiply col1 * col2)
20 20 20 caseb (multiply col1 * col3)
30 30 30 casec (multiply col2 * col3)
类似以下的查询:
select col1, col2, col3, col4, total
会回来吗
10,10,10,casea,100
20,20,20,caseb,400
30,30,30,casec,900
当然,绩效始终是一个重要问题
感谢您的参与。在发布此问题之前,我做了一些研究,了解到这是一个正确的解决方案,但性能会很差。@John为了提高性能,请使用其他功能,如持久化计算列等。或者查看您的模式并dataflow@John-为什么您认为这会表现不佳?我怀疑它会产生明显的差异,并且计算起来可能比存储它的额外IO便宜。在发布此问题之前,我做了一些研究,了解到这是一个正确的解决方案,性能会很差。@John为了提高性能,请使用其他功能,例如持久化计算列等。或者查看您的模式并dataflow@John-为什么您认为这会表现不佳?怀疑它是否会产生明显的差异,并且计算起来可能比存储它的额外IO要便宜。
select
Col1,
Col2,
Col3,
Col4,
CASE Col4
WHEN 'casea' then col1*col2
WHEN 'caseb' then col1*col3
WHEN 'casec' then col2*col3
END AS Total
FROM YourTable