J'ai une table de groupes, de personnes, et une table plusieurs-à-plusieurs de group_id
, person_id
paires. group
a une colonne de comptage qui devrait stocker le nombre actuel de personnes dans chaque groupe. Je voudrais mettre à jour cette information dans une commande SQL si je peux. J'imagine qu'une sorte de sous-requête me permettrait d'accomplir cela, mais je ne sais pas comment.Mise à jour d'une table basée sur le nombre() de sa table plusieurs-à-plusieurs
Cette requête me donne avec succès une cartographie de group_ids à leur nombre
SELECT `group_id`, COUNT(`group_id`) FROM `group-person` GROUP BY `group_id`;
Cette requête échoue, mais si cela a fonctionné, ce serait ce que je suis en train de faire
UPDATE `group`,`group-person` WHERE `group`.`id` = `group-person`.`group_id`
SET `group`.`count` = COUNT(`group-person`.`group_id`)
GROUP BY `group-person`.`group_id`;
vous ne pouvez pas faire GROUP BY dans la requête de mise à jour, –
Ouais, je sais, la requête échoue, c'était juste comment je l'imaginais que cela pourrait fonctionner. – dimo414