2011-04-16 3 views
1

J'ai créé une table pour comptabiliser le nombre de bons de travail par numéro d'inventaire. J'ai 2 champs, asset_tag (qui est unique) et le wo_count. J'essaie d'écrire une requête qui va insérer/mettre à jour les comptes dans la table. Grâce à la recherche sur ON DUPLICATE KEY UPDATE, j'ai trouvé cela, mais je reçois des erreurs de colonnes inconnues.insert ... select ... count ... sur l'erreur de mise à jour de la clé en double

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 

Quand je lance ce je reçois #1054 - Unknown column 't.cnt' in 'field list'. Je ne suis pas sûr de savoir comment utiliser les valeurs de comptage dans la mise à jour.

Répondre

0

Une fois que vous l'appelez "cnt", vous n'avez plus besoin du "t". portion. Vous devriez le référencer comme "cnt".

+0

J'ai essayé cela, mais ensuite je reçois "inconnu colonne cnt ..." –

Questions connexes