SQL : update avec JOIN + Count()
Résolu/Fermé
le hollandais volant
Messages postés
4998
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
23 décembre 2023
-
1 mars 2013 à 21:10
le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 - 2 mars 2013 à 01:54
le hollandais volant Messages postés 4998 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 23 décembre 2023 - 2 mars 2013 à 01:54
A voir également:
- SQL : update avec JOIN + Count()
- Logiciel sql - Télécharger - Bases de données
- Récupération serveur sql - Télécharger - Gestion de données
- Requête sql pix - Forum Python
- Dupliquer une table sql ✓ - Forum Programmation
- Connaitre version sql server ✓ - Forum Bases de données
1 réponse
le hollandais volant
Messages postés
4998
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
23 décembre 2023
1 057
2 mars 2013 à 01:00
2 mars 2013 à 01:00
Finalement j'ai trouvé un code qui marche :
Notez que le join se fait après le ON sur :
c.article_id = a.id
Et que le where se fait sur ça :
articles.id = a.id
article.id et a.id ne sont pas identiques : le premier est créé par le UPDATE et le second par le SELECT.
Là était la subtilité.
Ce code fonctionne avec SQLite.
UPDATE articles SET nb_comments = (SELECT count(a.id) FROM articles a INNER JOIN commentaires c ON (c.article_id = a.id) WHERE articles.id = a.id GROUP BY a.id)
Notez que le join se fait après le ON sur :
c.article_id = a.id
Et que le where se fait sur ça :
articles.id = a.id
article.id et a.id ne sont pas identiques : le premier est créé par le UPDATE et le second par le SELECT.
Là était la subtilité.
Ce code fonctionne avec SQLite.
2 mars 2013 à 01:54
UPDATE articles SET nb_comments = (SELECT count(articles.id) FROM commentaires WHERE commentaires.article_id = articles.id)