MySQL从另一个表中设置列值(连接3个表)

MySQL从另一个表中设置列值(连接3个表),mysql,join,Mysql,Join,我知道有两个类似的问题,比如“加入3个表”,但我读过的都没有帮助我 我有三张桌子: 检查表 “id”“description” 项目检查表 “id”检查表\u id“ 项目\检查列表\实例 “id”“说明”“项目清单\u id” 我想用清单表格“说明”列中的值填充项目清单实例的“说明”列。 这两个表互不相关,但都与project_检查表相关 所以我尝试了这个查询 UPDATE project_checklists_instances SET description = (SELECT c.des

我知道有两个类似的问题,比如“加入3个表”,但我读过的都没有帮助我

我有三张桌子:

检查表
“id”“description”

项目检查表
“id”检查表\u id“

项目\检查列表\实例
“id”“说明”“项目清单\u id”

我想用清单表格“说明”列中的值填充项目清单实例的“说明”列。 这两个表互不相关,但都与project_检查表相关

所以我尝试了这个查询

UPDATE project_checklists_instances
SET description = (SELECT c.description FROM checklists c
JOIN project_checklists pc ON c.id = pc.checklist_id
JOIN project_checklists_instances pci ON pc.id = pci.project_checklist_id)
WHERE pc.id = project_checklist_id")
我得到了一个错误:

SQLiteException: no such column: pc.id (code 1 SQLITE_ERROR): , while compiling: UPDATE project_checklists_instances  SET description = (SELECT c.description FROM checklists c  JOIN project_checklists pc ON c.id = pc.checklist_id  JOIN project_checklists_instances pci ON pc.id = pci.project_checklist_id)  WHERE pc.id = project_checklist_id

请告诉我如何达到预期结果。

有额外的括号,因此最后一行带有“pc.id”的内容超出了定义pc的范围