将SQL表值添加到单独的内部联接表值

时间:2014-09-13 03:10:49

标签: sql asp-classic inner-join addition

我正在努力获得' pointsGiven'从一个桌子(tableCourse),并将它们添加到一个人的当前点#Achieved'在一个单独的表(tableCoursePerson)中。

我当前的sql语句如下所示:

SQL =" UPDATE TCP SET TCP.PointsAchieved = 10 FROM TableCoursePerson AS TBC INNER JOIN tableCourse AS TC ON TCP.PointsId = TC.PointsID WHERE TCP.transactionID =?

目前,这句话只是在他们完成课程时将人的积分更新为10。我想从TableCourse表中获取pointsGiven值,并在一个SQL语句中将它们添加到TableCoursePerson表中的pointsAchieved。

提前致谢。

TableCourse

SessionID   PointsGiven
1           2
2           7
5           3
8           6


TableCoursePerson 

SessionID   PointsAchieved
1           0
2           0
5           0
8           0


After the SQL statement has run, the TableCoursePerson table should look like this:


SessionID   PointsAchieved
1           2
2           7
5           3
8           6

1 个答案:

答案 0 :(得分:0)

你基本完成了所有的工作。只需将10更改为相应的列:

UPDATE TCP
    SET PointsAchieved = TC.PointsGiven
    FROM TableCoursePerson AS TBC INNER JOIN 
          tableCourse AS TC
          ON TCP.PointsId = TC.PointsID
    WHERE TCP.transactionID = ?;

您可能需要使用set

SET PointsAchieved = PointsAchieved + TC.PointsGiven