MySQL从另一个表中设置列值(连接3个表)
我知道有两个类似的问题,比如“加入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
“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的范围