Requete insert into et select

mimou89ch Messages postés 32 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 21 juin 2012 - 17 mai 2011 à 15:46
mimou89ch Messages postés 32 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 21 juin 2012 - 24 mai 2011 à 10:20
bonjour tout le monde
j'ai un problème dans la requête imbriqué insert into et select :
j'ai une table2 où je veux insérer des valeurs existantes dans une autre table1.
j'ai essayé cette requête :
Insert into Table2 (nom , prenom) select nom, prenom from Table1
mais ça ne marche pas
quelqu'un peut me donner le syntaxe correct de cette requête ??
merci infiniment

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 mai 2011 à 19:35
Salut

Si les noms des champs sont les mêmes dans les deux tables, SQL ne saura pas lesquels prendre.
Il faut donc devancer le nom des champs par le nom de la table auquel il appartient.

Il est plus simple d'utiliser une structure de syntaxe plus parlante :
Insert Into Table2
Select nom =  Table1.nom,
       prenom = Table1.prenom
  From Table1 
Mais attention, dans ce cas, tous les champs de la table doivent être listés.

Voir les sites dédiés à ce langage comme <celui-ci> ou <celui-là>, trouvés en 15 secondes sur Bing.

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
mimou89ch Messages postés 32 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 21 juin 2012
17 mai 2011 à 22:10
merci pour la réponse mais la table2 a plus de champs que les champs de la table1 le programme me retourne l'erreur: le nombre des champs de la table2 ne coincide pas avec le nombre des champs de la requête comment je peux corriger cette erreur
0
Utilisateur anonyme
23 mai 2011 à 13:53
Bonjour,
Ce ne sera pas forcement la solution la plus adequat mais essaye ceci:

Insert Into Table2
Select nom = Table1.nom,
       prenom = Table1.prenom,
       '' AS Adresse,
       '' AS Tel,...,
       '' AS truc
  From Table1


Cela devrai fonctionner, il faudra que tu mette une ligne '' AS XX pour chaque colonne manquante dans ta table, et il faut voir avec le type de tes colonnes, comme 0 AS Tel, si ta colonne Tel est en entier...
0
mimou89ch Messages postés 32 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 21 juin 2012
24 mai 2011 à 10:20
merci beaucoup pour l'aide je vais l'essayer
0
Rejoignez-nous