Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2008, 12h58   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 90
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 90
Points : 26
Points : 26
Par défaut [SQL] fusionner deux tables

Bonjour,

J'ai une table de concordances entre des anciennes références et des nouvelles. Je l'appelle Codes
Elle a 4 colonnes : ancien , URL_ancien, nouveau, URL_nouveau
Je viens de récupérer une nouvelle table de concordances révisée et mise à jour, mais elle ne contient que deux colonnes : ancien et nouveau. Je l'ai nommée Codes2.
Je voudrais récupérer les données de la colonne URL_ancien de Codes pour les mettre dans Codes2.
J'ai créé la colonne qu'il faut dans Codes2
Je pense qu'il faut utiliser une jointure.
Code :
SELECT Codes.URL_ancien FROM Codes, Codes2 WHERE Codes.ancien = Codes2.ancien
me donne bien une liste d'url contenu dans URL_ancien de Codes, mais comment faire pour copier cette liste dans Codes 2 ?
Bien cordialement,

La loupiote
laloupiote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 17h35   #2
Membre régulier
 
Avatar de FrontLine
 
Nicolas
Webmaster
Inscription : janvier 2008
Messages : 172
Détails du profil
Informations personnelles :
Nom : Nicolas
Âge : 30

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : janvier 2008
Messages : 172
Points : 84
Points : 84
Salut,

peut être qu'un SELECT FROM code.... INSERT INTO code2... en une seule requête résoudrait ton problème ?

FrontLine
FrontLine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 20h18   #3
Membre éclairé
 
Avatar de FredPsy
 
Homme Frédéric BERTHORELLY
Formateur en informatique
Inscription : décembre 2006
Messages : 270
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BERTHORELLY
Âge : 35
Localisation : Djibouti

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 270
Points : 318
Points : 318
BOnsoir,
Il faut que tu fasses d'abord ton SELECT,
puis tu fais une boucle qui va prendre chaque résultat de ta requête de sélection et enfin, tu fais, à l'intérieur de la boucle, un INSERT, afin de pouvoir rentrer à nouveau tes données en base.

En plus, clair (des fois, je pars en sucette) :
Code :
1
2
3
4
5
6
7
8
9
10
 
$requete = "select Codes.URL_ancien FROM Codes, Codes2 WHERE Codes.ancien = Codes2.ancien";
 
$action = mysql_query($requete);
 
while ($table = mysql_fetch_array($action))
 {
   mysql_query("insert into Codes2 values ('', '$table[0]')");
   /* $table[0] correspond à ton URL_ancien */
 }
A tester, mais peut être que tu ne veux faire qu'un UPDATE de tes valeurs ? Si c'est la cas, c'est le même principe, mais avec une requête UPDATE.
__________________
"Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

Je lutte contre le language SMS.
FredPsy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 22h00   #4
Membre régulier
 
Avatar de FrontLine
 
Nicolas
Webmaster
Inscription : janvier 2008
Messages : 172
Détails du profil
Informations personnelles :
Nom : Nicolas
Âge : 30

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : janvier 2008
Messages : 172
Points : 84
Points : 84
Oula c'est bourrin comme solution.

D'où la requête SELECT ... INSERT, si ça ne va pas il vaut mieux charger les requêtes dans une variable et l'exécuter 1 seule fois
FrontLine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 22h08   #5
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
tu peux faire ceci en une seule requête :

INSERT dans SELECT

Pour l'avoir essayé ça marche du feu de.....
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2008, 18h20   #6
Membre éclairé
 
Avatar de FredPsy
 
Homme Frédéric BERTHORELLY
Formateur en informatique
Inscription : décembre 2006
Messages : 270
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BERTHORELLY
Âge : 35
Localisation : Djibouti

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 270
Points : 318
Points : 318
Citation:
Envoyé par RideKick Voir le message
tu peux faire ceci en une seule requête :

INSERT dans SELECT

Pour l'avoir essayé ça marche du feu de.....
Merci, pour ça, va falloir que je me replonge un peu dans la lecture de
quelques bricoles, je crois

Sinon, ma méthode bourrin, elle fonctionne aussi.
__________________
"Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

Je lutte contre le language SMS.
FredPsy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 11h02   #7
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 90
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 90
Points : 26
Points : 26
Bonjour,

D'abord, je vous prie de m'excuser pour l'absence de toute réponse à vos messages d'aide due à un petit problème de santé et à une reprise un peu bousculée qui m'ont tenu éloigné de ce problème.
La méthode "bourrin" va bien et je l'ai même comprise du premier coup.
Du coup, je me suis quand même un peu attardé sur la méthode INSERT dans SELECT et j'y suis parvenu également.
Merci donc à tous

laloupiote
laloupiote est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h02.


 
 
 
 
Partenaires

Hébergement Web