我正在尝试更新单个列中的所有值。该列当前仅包含NULL值。
表格中有两列需要更新,表格中应该从需要匹配的新数据中进行更新。
在查找问题后,似乎之前没有提到它需要解决的方式。
到目前为止我提出的代码是(并且不起作用):
UPDATE ANSWER_PATTERN AS outer
SET outer.ANSWER_DURATION =
(
SELECT inner.ANSWER_DURATION
FROM PREP_ANSWER_DURATION AS inner
WHERE (inner.TEST_ITEM_EXT_ID,
inner.STUDENT_EXT_ID) =
(outer.TEST_ITEM_EXT_ID,
outer.STUDENT_EXT_ID)
);
那么,如果TEST_ITEM_EXT_ID和STUDENT_EXT_ID列都匹配,如何将ANSWER_DURATION列中table2的值输入table1,ANSWER_DURATION列?
我很乐意提供任何帮助。 : - )
答案 0 :(得分:0)
您将如何做到这一点:
{{1}}
答案 1 :(得分:0)
我认为这可以实现您的目标。我对数据库风格的体验是不存在的,但这就是我使用PostgreSQL解决问题的方法。
UPDATE ANSWER_PATTERN t1
SET ANSWER_DURATION = t2.ANSWER_DURATION
FROM PREP_ANSWER_DURATION t2
WHERE t2.TEST_ITEM_EXT_ID = t1.TEST_ITEM_EXT_ID
AND t2.STUDENT_EXT_ID = t1.STUDENT_EXT_ID;