我有一个表,我想在其中添加一个计算列。我要设置的查询比标准算术运算更复杂,我不确定如何使用查询设置计算列。我尝试使用 ALTER TABLE 语句:
ALTER TABLE shareholder.Amount
ADD CalculatedAmount As
(SELECT sum(Amount) FROM shareholder.TransactionInput T
WHERE T.ShareClassLabel = Amount.ShareClassLabel
AND T.ValuationDate < Amount.NAVDate
GROUP BY T.ShareClassLabel)
但这会导致错误:'在这种情况下不允许子查询。只允许标量表达式'。我知道子查询本身可以正常工作,并且已经对其进行了测试,因此只需弄清楚如何将计算列设置为它的结果。
谢谢!(我正在使用 SQL Server 2014 Management Studio)