根据多个条件更新字段

时间:2015-03-19 16:18:51

标签: sql

作为参考,这不是家庭作业,而是我在工作中所做的事情。不幸的是,我的SQL技能不是很好,所以我不知道如何去做。我知道这里有一些很棒的SQL人员,所以我希望你能帮助我!

至少,对查询的一般结构的任何指导都会很棒!我遇到的主要问题是这个查询的核心必须多次运行(即贷款有多行,Payoff = 1)

谢谢!

假设您有以下表格:

Payoffs:
P_ID | DebtID (FK) | LoanID | Payoff | PayoffAmount
=====|=============|========|========|=============
1    | 1           | 10     | 1      | 0.00
2    | 2           | 10     | 1      | 0.00
3    | 3           | 27     | 0      | 0.00
4    | 4           | 14     | 1      | 0.00
5    | 5           | 10     | 0      | 0.00

Debts:
DebtID | CurrAccountBal
=======|===============
1      | 2375.00
2      | 1000.00
3      | 2300.00
4      | 2400.00
5      | 500.00

给定LoanID,如果Payoffs.Payoff =" 1",则取Debts.CurrAccountBalance中的金额并将其插入Payoffs.PayoffAmount。

1 个答案:

答案 0 :(得分:1)

这应该适用于大多数(如果不是全部)数据库引擎:

UPDATE Payoffs
SET    PayoffAmount =
       (SELECT CurrAccountBal
        FROM Debts
        WHERE Payoffs.DebtID = Debts.DebtID
       )
WHERE  Payoff = 1
  AND  LoanID = [insert desired LoanID here];