2011-04-16 81 views
1

我创建了一个表来保存按资产标签计算的工单。我有2个字段,asset_tag(这是唯一的)和wo_count。我正在尝试编写一个查询来插入/更新表中的计数。通过对ON DUPLICATE KEY UPDATE的研究,我已经想出了这个,但是出现了未知的列错误。insert ... select ... count ...重复键更新错误

INSERT INTO mod_workorder_counts (asset_tag, wo_count) 
    (SELECT t.asset_tag, count(*) AS cnt 
     FROM mod_workorder_data t 
     WHERE t.asset_tag IS NOT NULL 
    GROUP BY t.asset_tag) 
ON DUPLICATE KEY UPDATE mod_workorder_counts.wo_count = t.cnt 

当我运行这个我得到#1054 - Unknown column 't.cnt' in 'field list'。我不确定如何在更新中使用计数值。

回答

0

一旦您将其引用为“cnt”,就不再需要“t”。一部分。你应该参考它只是“cnt”。

+0

我试过了,但后来我得到“未知列cnt ...” – 2011-04-16 16:46:52