带有子查询的SQL持久计算列

时间:2012-08-31 18:44:55

标签: sql-server

我有三张桌子

表1:项目

ItemID | DaysLastSold

表2:商家信息

ItemID | ListingID

表3:销售

ListingID | DateItemClosed

我得到了这个查询:

SELECT min(DATEDIFF(day, DateItemClosed, getdate())) as DaysLastSold 
    from Sales 
    where QtySold > 0 
        and ListingID in (SELECT ListingID from Listings where ItemID = 8101 )

我要做的是基本上将此查询放入Items表中的DaysLastSold列。因此,当选择该列时,它会使用相邻列中的ItemID重新计算DaysLastSold。

1 个答案:

答案 0 :(得分:0)

如果您想保留该信息,可以创建一个由您的计算值和ItemID组成的索引视图。显然,这不会是原始表格中的一列。然后,当您需要这些信息时,您可以加入此视图。

就我个人而言,我可能会在你需要的时候内联它。如果您担心绩效,请在此处发布执行计划,我们可能会提出一些建议。