utiliser un "SELECT FROM GROUP BY" dans requête INSERT INTO

Eléphant du PHP | 331 Messages

31 janv. 2008, 10:17

Bonjour,

Je souhaite que le résultat d'une requête "SELECT FROM GROUP BY" soit stocké dans une autre table initialement vide.
Pour cela, je voudrais utiliser la requête INSERT INTO qui ferait donc appel au SELECT cité plus haut.

Pouvez-vous me dire si cela est réalisable ou si je dois m'y prendre autrement ?

Merci d'avance !

Jérôme

d0m
Mammouth du PHP | 1141 Messages

31 janv. 2008, 10:57

Ca dépend de ta base de donnée.

D'après mes souvenris, sous MySQL tu ne peux faire qu'une insertion à la fois.
Tu ne peut donc pas faire une insertion de plusieurs élements.
Il faudrait d'abord que tu sélectionnes et que tu insères tes lignes une par une dans une boucle.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

31 janv. 2008, 11:31

Pour les insertions multiples, pas de problèmes, MySQL supporte toutes sortes de méthodes pour insérer plusieurs enregistrements à la fois.

Pour INSERT ... SELECT, c'est facile, il suffit de... lire le manuel. Toutes les réponses sont dedans. Ta requête ressemblera à

Code : Tout sélectionner

INSERT INTO matable (col1, col2, col3) SELECT x, y, COUNT(*) FROM autretable GROUP BY x, y

Eléphant du PHP | 331 Messages

02 févr. 2008, 23:42

Merci, c'est parfait !