使用一个表中的值来更新另一个表

时间:2017-02-05 07:07:01

标签: sql-server

[1] SqlDataAdapter SDA2 = new SqlDataAdapter(“         更新帐户_         SET ACCOUNT_T.ACCT_BALANCE = ACCOUNT_T.ACCT_BALANCE +             TRANSACTION_T.TRANS_AMNT         ACCOUNT_T.ACCT_NUMBER = TRANSACTION_T.ACCT_NUMBER“,CON);

我正在尝试使用在TRANSACTION_T的TRANS_AMNT中输入的值来更新ACCOUNT_T的ACCT_BALANCE列,其中ACCOUNT_T中的ACCT_NUMBER等于TRANSACTION_T中的ACCT_NUMBER。

当我尝试这样做时,我收到此错误

  

多部分标识符“TRANSACTION_T.ACCT_NUMBER”不可能   界。

喜欢在银行申请中存款和取款。

            TRANSACTION_TABLE.                        ACCOUNT_TABLE
            ACCT_NUMBER | 001    |002            ACCT_NUMBER | 001  |002
            TRANS_TYPE  | deposit|deposit        ACCT_NAME   | LAWAL|RAHMA
            TRANS_AMOUNT| 200    | 200           ACCT_BALANCE| 2000 |4000

我想在存款时增加帐户余额。假设account_number 001存入200,他的账户余额将增加到2200.

1 个答案:

答案 0 :(得分:1)

试试这个,

   UPDATE AT
        SET AT.ACCT_BALANCE = AT.ACCT_BALANCE +
            TT.TRANS_AMNT 
            from ACCOUNT_T AT
        inner join  TRANSACTION_T TT on  AT.ACCT_NUMBER = TT.ACCT_NUMBER
where TT.TRANS_TYPE  = 'deposit'