我可以在SQL Server中指定一个平均另一列的计算列吗?
所以例如
CREATE TABLE dbo.Sales
(
TimeOfSale dateTime,
AmountOfSale money,
TotalSalesForMonth AS ?(Sum(AmountOfSale) over TimeofSale by month),
AverageForMonth AS ?(Sum(AmountOfSale) over TimeofSale by month / # sales per month)
);
我确定我可以将其作为存储过程执行并创建另一个表,但我只是好奇是否可以使用计算列进行此操作。
答案 0 :(得分:2)
是的,您可以这样做,但您必须编写一个UDF来计算聚合并在Computed列定义中调用UDF。
请注意,虽然可以这样做,但这可能不是最好的主意:https://blogs.msdn.microsoft.com/sqlcat/2011/11/28/a-computed-column-defined-with-a-user-defined-function-might-impact-query-performance/