一段时间以来,我一直在为 MySQL 更新查询而苦苦挣扎,但找不到解决方案。
我有
Table_Items:
- id
- desc
- maintenance_times
和
Table_Maintenances:
- id
- Item_id
- maintenance_desc
它们是相互关联的
Table_Items.id=Table_Maintenances.Item_id
现在我想计算表 Table_Maintenances
中每个项目的维护次数,并更新 Table_Items
中的列 maintenace_time
。
我有一个有效的选择查询,但无法弄清楚如何更新 Table_items
中的每一行(maintenance_times
):
SELECT COUNT(b.Item_id)
FROM `Table_Items` AS a
LEFT JOIN Table_maintenances as B ON a.id=b.Item_id
GROUP BY b.Item_id
最佳答案
感谢您的示例,终于弄明白了:
UPDATE
Table_Items m,
(
SELECT a.id, COUNT(b.Item_id) cnt
FROM `Table_Items` AS a
LEFT JOIN Table_Maintenances as B on a.id=b.Item_id
GROUP BY b.Item_id
) q
SET m.maintenance_times = q.cnt
WHERE m.id = q.id
关于MySql 转换选择查询以更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640158/