我有两张桌子。
学生 (具有以下专栏)
| 学生证| 学生姓名| 费用帐户| 类
01 Kid1 01 One
02 Kid2 02 Three
我有一张表FeeAccounts (有以下几列)
| 费用帐户| 学生证| 每月费用| 欠款|
01 01 -- --
02 02 -- --
====================问题=======================
我想更新FeeAccounts表中的MonthlyFee列的值,但是必须为每个学生的班级添加特定的费用。例如,对于第一堂课,我想在月费上增加500,而对第三堂课的学生账户要增加700。
换句话说,我想根据学生所在班级应该使用外键来获得学生的课,即StudentID更新monthlyfees。
我可以SELECT
填写所需的列,但是我似乎不了解如何UPDATE
使用Equijoin。
SELECT查询将是这样的:
SELECT f.feeaccount, f.studentname, s.class
FROM feeaccounts f, student s
WHERE f.studentid = s.studentid;
[[顺便说一下,我将在JDBC中使用查询,所以希望您的帮助与JDBC兼容]]
该文档说明存在一个多表UPDATE。它给出了通过提及另一个表来更新一个表的示例。(RTM。)
UPDATE FeeAccount f, Student s
SET f.MonthlyFee = foo(...,f.Arrears,...,s.Class,...)
WHERE f.StudentId = s.StudentId;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句