我必须使用表"testconsent_id"
的id值更新表test_test列test_groupedconsent,
,patient_id
中的test_test
和patient_id
中的test_groupedconsent
表匹配和
两个表匹配中的creation_date也是如此。
我正在使用以下查询但收到错误 - "near "as": syntax error".
查询有什么问题?
Update test_test as Tinner join (select id,patient_id,creation_date from test_groupedconsent) as Aon A.patient_id = T.patient_id and A.creation_date = T.creation_dateset T.testconsent_id = A.id;
答案 0 :(得分:10)
您不能直接在UPDATE语句中使用连接。
您必须使用相关子查询来查找所需的值(在子查询中,您可以执行任何操作,但在这种情况下,您甚至不需要连接):
UPDATE test_test
SET testconsent_id = (SELECT id
FROM test_groupedconsent
WHERE patient_id = test_test.patient_id
AND creation_date = test_test.creation_date);
答案 1 :(得分:0)
听起来像是在加入表后加入'as'所以要么放在(... as ...)中,要么在之前带上“ON COMMAND”! 像这样 - > (table1将table1.fiel = table2.field上的table2连接)作为
答案 2 :(得分:-1)
UPDATE TABLE test_test
SET testconsent_id =
(SELECT testconsent_id FROM test_groupedconsent AS A, test_test AS B
WHERE A.patient_id = B.patient_id AND A.creation_date = B.A.creation_date)