Sqlite使用子查询更新查询
我要更新表test_test列"testconsent_id"
与值表的ID 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;
您不能直接在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);
听起来像加入联接表后的'as',所以要么放在(... ...)中,要么带上“ON COMMAND”之前! 像这样 - >(table1在table1.fiel = table2.field上连接table2)
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)
链接地址: http://www.djcxy.com/p/94675.html