Requete insert into et select

Signaler
Messages postés
32
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
21 juin 2012
-
Messages postés
32
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
21 juin 2012
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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)
Messages postés
32
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
21 juin 2012

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
Messages postés
149
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
16 juillet 2013
3
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...
Messages postés
32
Date d'inscription
vendredi 7 janvier 2011
Statut
Membre
Dernière intervention
21 juin 2012

merci beaucoup pour l'aide je vais l'essayer