Rechercher : dans
Par :

Sql : fusion de tables

Dernière réponse le 12 mai 2008 à 22:55:11 kirby_blue, le 11 mai 2008 à 19:29:06 
 Signaler ce message aux modérateurs

Bonjour,

J'ai deux tables sql :

Table1
id
auteur
article

Table2
id
auteur

sachant que les id de ma table1 sont erronés, j'aimerais les remplacer par ceux de la table2 pour chaque personne.
Quelle requête sql dois-je utiliser pour cela ?

Meilleures réponses pour « sql : fusion de tables » dans :
Tri par fusion - récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : Procedure Tri_Fusion (Var t : TAB; g, d : integer); Var m, i, j, k : integer; s : TAB; Begin If d > g Then ...
SQL - Création de table VoirLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...
SQL - Modification de table VoirModification de table Il est possible de supprimer une table grâce à la clause DROP, il existe aussi des commandes moins extrêmes permettant L'ajout de colonnes La modification de colonnes La suppression de colonnes Enfin, il est possible...
SQL - Contraintes d'intégrité VoirExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient...

1

kirby_blue, le 11 mai 2008 à 21:22:08

J'ai essayé :

UPDATE articles SET author_id = (
SELECT authors.id FROM authors, articles WHERE articles.author_name = authors.author_name);

Mais le problème est que j'ai plusieurs résultats dans mon sous-select...Forcément, il y a plusieurs articles écrits par le même auteur. Comment tous les remplacer ?

Répondre à kirby_blue

2

 kirby_blue, le 12 mai 2008 à 22:55:11

Bon, ben on dirait que j'ai trouvé tout seul comme un grand :-D


UPDATE articles ar SET author_id = au.id FROM authors au WHERE ar.author_name=au.author_name;


rien de bien méchant en somme...mais bon, il faut bien commencer quelque part....

Répondre à kirby_blue