我不知道最好的方法是什么,所以我将描述最终的目标是什么,如果一个计算列是答案,那么请帮助我走这条路线,或者一条更好的路线.
我有两张桌子
命令
OrderId PackageId MediaSpend TotalAdViews (Computed column)
包
PackageId BaseAdViews
每个订单都会分配一个包含1,000次视图的包,然后可以购买更多的媒体支出来获得更多的观看次数.我想创建一个名为TotalAdViews的列,它将添加BaseAdViews MediaSpend.从我的理解,如果启用持久性,列将不需要重新计算每次查询,这可以帮助性能.
如何从计算列中的另一个表中获取值?或者建议另一种方式来实现我的目标.
解决方法
您将无法在计算的列表达式中使用其他表中的列.这是
MSDN documentation的摘录.
A computed column is computed from an expression that can use other columns in the same table.
你提到你使用计算列的动机是提高性能.有很多restrictions,但@L_502_2@可能会增加价值.