我试图在另一个表中插入从值中提取的平均值。 我可以计算平均值,但是在条件下将其插入表中时,会出现错误-见下文。
我很确定我应该使用更新功能,但是不确定如何使用内部联接实现更新
这是我正在使用的代码。
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'
当我运行select语句时,我可以看到正确的值
“测试表”中已插入数据,但是“测试平均值”是唯一不希望输入的列,并且可以为空
答案 0 :(得分:0)
您需要将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