gpt4 book ai didi

mysql - 使用 Equijoin 更新查询

转载 作者:行者123 更新时间:2023-11-29 00:12:08 24 4
gpt4 key购买 nike

我有两个表。

学生 (有以下列)

|学号 |学生姓名 |费用帐户 |类 |

   01       Kid1          01      One     

02 Kid2 02 Three

FeeAccount 是表 FeeAccounts 的外键。

我有表 FeeAccounts (其中包含以下列)

|费用帐户 |学号 |月费 |欠费 |

    01       01          --       --
02 02 -- --

StudentID 是表 Students 的外键。

====================问题=================== =====

我想更新 FeeAccounts 表中 MonthlyFee 列的值,但必须添加每个学生类(class)的特定费用。例如,对于一类,我想将 500 添加到 monthlyfee,并且我想将 700 添加到三类学生的帐户。

IN OTHER WORDS I want to update monthlyfees based on Student's Class where Student's class should be obtained using foreign key, i.e. StudentID.

我可以SELECT 我需要的列,但我似乎不明白如何UPDATE 它,使用Equijoin.

SELECT 查询将是这样的:

SELECT f.feeaccount, f.studentname, s.class
FROM feeaccounts f, student s
WHERE f.studentid = s.studentid;

[[顺便说一句,我将在 JDBC 中使用查询,所以我希望您的帮助与 JDBC 兼容]]

最佳答案

documentation说明有一个多表UPDATE。它给出了一个通过提及另一个表来更新一个表的示例。 (RTM。)

UPDATE FeeAccount f, Student s
SET f.MonthlyFee = foo(...,f.Arrears,...,s.Class,...)
WHERE f.StudentId = s.StudentId;

关于mysql - 使用 Equijoin 更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24573585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com