par
jalol » 17 nov. 2005, 14:09
Bonjour à tous !
Voilà, j'ai 2 tables. La première contient les coordonnées complètes des utilisateurs :
Table `users`
`idUser` INT(11) PRIMARY KEY AUTO_INCREMENT
`nom` VARCHAR(255)
`prenom` VARCHAR(255)
`mail` VARCHAR(255)
`societe` VARCHAR(255)
`adresse` VARCHAR(255)
Dans la seconde, je veux juste avoir le nom, le prénom et le mail :
Table `abonne`
`idAbonne` INT(11) PRIMARY KEY AUTO_INCREMENT
`nom` VARCHAR(255)
`prenom` VARCHAR(255)
`mail` VARCHAR(255)
Je souhaite bien sûr transférer (copier) les données de l'une à l'autre, et de préférence uniquement en SQL. J'ai voulu faire cette requête :
Code : Tout sélectionner
INSERT INTO `test` VALUES (
(SELECT `idUser` FROM `abonnes_newsletter`),
(SELECT `nom` FROM `abonnes_newsletter`),
(SELECT `prenom` FROM `abonnes_newsletter`),
(SELECT `mail` FROM `abonnes_newsletter`)
)
Mais MySQL répond
Et je me dis "Evidemment, vu que je veux qu'il me mette tous les enregistrements". Y a-t-il un moyen de faire ce type de requête en boucle en SQL ou dois-je forcément passer par un script PHP?
Si jamais il y a une solution en SQL, est-il possible d'avoir en plus un idAbonne distinct?
Merci de votre aide

Bonjour à tous !
Voilà, j'ai 2 tables. La première contient les coordonnées complètes des utilisateurs :
Table `users`
`idUser` INT(11) PRIMARY KEY AUTO_INCREMENT
`nom` VARCHAR(255)
`prenom` VARCHAR(255)
`mail` VARCHAR(255)
`societe` VARCHAR(255)
`adresse` VARCHAR(255)
Dans la seconde, je veux juste avoir le nom, le prénom et le mail :
Table `abonne`
`idAbonne` INT(11) PRIMARY KEY AUTO_INCREMENT
`nom` VARCHAR(255)
`prenom` VARCHAR(255)
`mail` VARCHAR(255)
Je souhaite bien sûr transférer (copier) les données de l'une à l'autre, et de préférence uniquement en SQL. J'ai voulu faire cette requête :
[code]INSERT INTO `test` VALUES (
(SELECT `idUser` FROM `abonnes_newsletter`),
(SELECT `nom` FROM `abonnes_newsletter`),
(SELECT `prenom` FROM `abonnes_newsletter`),
(SELECT `mail` FROM `abonnes_newsletter`)
)[/code]
Mais MySQL répond [code]#1242 - Subquery returns more than 1 row [/code]
Et je me dis "Evidemment, vu que je veux qu'il me mette tous les enregistrements". Y a-t-il un moyen de faire ce type de requête en boucle en SQL ou dois-je forcément passer par un script PHP?
Si jamais il y a une solution en SQL, est-il possible d'avoir en plus un idAbonne distinct?
Merci de votre aide :)