Проблема с вставкой в ​​таблицу с помощью внутреннего соединения - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь вставить среднее значение, полученное из значений в другой таблице.Я могу рассчитать среднее значение, но когда дело доходит до вставки его в таблицу при определенных условиях, я получаю ошибку - см. Ниже.

Я уверен, что я предполагаю использовать функцию обновления, однако неконечно, как реализовать обновление с внутренним соединением

enter image description here

Это код, который я использую.

INSERT INTO TESTS (TEST_AVERAGE) 
SELECT AVG(STUDENT_SCORE )
FROM STUDENT_SCORES  
INNER JOIN TESTS
ON STUDENT_SCORES.TEST_ID = TESTS.TEST_ID AND TESTS.TEST_ID = 'TST100'

Когда я запускаю оператор выбора, я вижу правильное значение

enter image description here

Однако в таблицу испытаний вставлены данныеТестовое среднее значение является единственным столбцом, ожидающим записи и может быть пустым

enter image description here

1 Ответ

0 голосов
/ 15 апреля 2019

Вам нужно добавить TEST_ID в ваш список VALUES и в ваш SELECT stmt

INSERT INTO TESTS (TEST_ID, TEST_AVERAGE) 
SELECT TESTS.TEST_ID, AVG(STUDENT_SCORE )
FROM STUDENT_SCORES  
INNER JOIN TESTS
ON STUDENT_SCORES.TEST_ID = TESTS.TEST_ID AND TESTS.TEST_ID = 'TST100'
GROUP BY TESTS.TEST_ID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...