2014-09-13 3 views
0

Я пытаюсь получить «pointsGiven» из одной таблицы (tableCourse) и добавить их в текущие «pointAchieved» человека в отдельной таблице (tableCoursePerson).Добавление значений таблицы SQL для разделения значений внутренней объединенной таблицы

Мой текущий оператор SQL выглядит следующим образом:

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

На данный момент это утверждение просто обновляет точки человека до 10, когда они заканчивают курс. Я хочу получить значение pointsGiven из таблицы TableCourse и добавить их в pointsAchieved в таблице TableCoursePerson в одном заявлении SQL.

Заранее благодарен

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 

ответ

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 
+0

совершенны, спасибо! – FourHundred400

Смежные вопросы