Sqlite Update query using a subquery
I have to update table test_test column "testconsent_id"
with the id value of table test_groupedconsent,
where the patient_id
in test_test
and patient_id
in test_groupedconsent
table match and also creation_date in both table match. I'm using the below query but getting error -- "near "as": syntax error".
what is wrong with the query?
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;
You cannot use a join directly in an UPDATE statement.
You have to use a correlated subquery to look up the desired value (in the subquery, you can do whatever you want, but in this case, you don't even need a join):
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);
sounds like it took the 'as' after join for the joined tables so either put as in the (... as ...) or bring "ON COMMAND" before as! like this -> (table1 join table2 on table1.fiel = table2.field) as something
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/94676.html
上一篇: SQL更新插入带触发器的行
下一篇: Sqlite使用子查询更新查询