[英]How can I use Computed Column Specification to calculate a variable from other tables?
我可以使用計算列規范來計算其他表中的變量嗎?
我知道如何使用計算列規范來計算表中的變量。 如
(case when [LastWorkingDate] IS NULL then round(datediff(day,[EntryDate],getdate())/(365.25),(2)) else round(datediff(day,[EntryDate],[LastWorkingDate])/(365.25),(2)) end)
但是如何從另一個表中計算出一個值呢?
我想這樣做,但似乎不好......
select sum(Hour) from StaffInfo where year = 2012;
我假設它是SQL Server。 據我所知, computed column
項僅存在於那里。
根據MSDN (重點是我的):
計算列是根據可以使用同一表中其他列的表達式計算的。
此外:
表達式不能是子查詢。
因此,您不能使用子查詢來計算其他表中的Sum(hour)
值。
你有幾個選擇:
您可以創建普通列,並在插入或更新記錄時使用INSERT/UPDATE
觸發器更新此列中的值。
您可以創建一個VIEW
。 在視圖中,您將加入StaffInfo表並選擇Sum(Hour)值作為視圖中的列
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.