Faire Fusionner 2 tables pour récupérer...

Résolu/Fermé
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 - 14 févr. 2008 à 14:32
 Pascalou - 6 avril 2012 à 19:27
Bonjour à tous,

Mon problème est le suivant il faut que je fasse fusionner 2 tables pour récupérer les enregistrements. Enfin mon but et de mettre tous les enregistrements des 2 tables dans une seule Sous MySql.

Merci d'avance à ceux qui pourront m'aider...

12 réponses

Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
14 févr. 2008 à 15:39
Si tes deux tables ont exactement la même structure :
CREATE TABLE nom_table3 (
   [completer ici la structure]
);

INSERT INTO nom_table3 
SELECT * FROM nom_table1, nom_table2;

Si tu n'as pas besoin de garder la table1, tu peux directement faire:
INSERT INTO nom_table1 SELECT * FROM nom_table2;



Si par contre tes tables n'ont pas la même structure mais ont des champs commun:
CREATE TABLE nom_table3 (
  [completer ici la structure des champs commun]
);

INSERT INTO nom_table3 (dossard, nom, prenom, date_de_naissance)
SELECT dossard, nom, prenom, date_de_naissance FROM nom_table1, nom_table2;


Si tes tables n'ont pas de champs commun :
CREATE TABLE nom_table3 (
  [completer ici la nouvelle structure]
);

INSERT INTO nom_table3 (champ1,champ2,champ3,champ4)
SELECT nom_table1.champ1, nom_table1.champ2, nom_table2.champ3, nom_table2.champ4 FROM nom_table1, nom_table2;


C'est la limite acceptable, tu ne te limitera pas à un copier coller :o
10
DiabloAndSab Messages postés 80 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 19 février 2009 2
14 févr. 2008 à 15:47
J'ai fait ça :

INSERT INTO insc_mdc_ancien SELECT * FROM insc_mdc_connu;

et MySql me répond:

Erreur

requête SQL: Documentation

INSERT INTO insc_mdc_ancien
SELECT *
FROM insc_mdc_connu

MySQL a répondu:Documentation
#1062 - Duplicate entry '1' for key 1

Erreur

requête SQL: Documentation

SELECT *
FROM Array
WHERE CONCAT_WS( "-", ) = "1"
ORDER BY
LIMIT 0 , 100

MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') = "1" ORDER BY
LIMIT 0, 100' at line 1

je crois que c'est au niveau de l'identifiant que ça pêche.

Merci de tes réponses.
0