[英]SQL Inner Join for calculated column
我想将销售年至今设置为自动等于帐目代码相等的发票抬头总和。
ALTER TABLE DEBTORS_MASTER
ALTER COLUMN Sales_Year_To_Date AS
(SELECT SUM (INVOICE_HEADER.Total_Sell_Amount_Excl_VAT)
FROM DEBTORS_MASTER
INNER JOIN DEBTORS_MASTER ON INVOICE_HEADER.Account_Code = DEBTORS_MASTER.ACCOUNT_CODE);
我得到这个错误
关键字“ AS”附近的语法不正确
我认为你必须分开做
变更陈述
ALTER TABLE DEBTORS_MASTER
ALTER COLUMN Sales_Year_To_Date INT
更新声明
UPDATE t1
SET Sales_Year_To_Date = Sales_Year_To_Date
FROM DEBTORS_MASTER t1
INNER JOIN (
SELECT SUM(INVOICE_HEADER.Total_Sell_Amount_Excl_VAT) AS Sales_Year_To_Date
FROM DEBTORS_MASTER
INNER JOIN DEBTORS_MASTER ON INVOICE_HEADER.Account_Code = DEBTORS_MASTER.ACCOUNT_CODE
) t2 ON t2.ACCOUNT_CODE = t1.ACCOUNT_CODE
您可以使用此代码,
UPDATE DM
SET Sales_Year_To_Date = IH.sumAmount
FROM DEBTORS_MASTER AS DM
INNER JOIN
(
SELECT Account_Code, SUM(Total_Sell_Amount_Excl_VAT) sumAmount
FROM INVOICE_HEADER
GROUP BY Account_Code
) IH
ON IH.Account_Code = DM.Account_Code
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.