簡體   English   中英

如何使用計算列規范計算其他表中的變量?

[英]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)值。

你有幾個選擇:

  1. 您可以創建普通列,並在插入或更新記錄時使用INSERT/UPDATE觸發器更新此列中的值。

  2. 您可以創建一個VIEW 在視圖中,您將加入StaffInfo表並選擇Sum(Hour)值作為視圖中的列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM