OVH Cloud OVH Cloud

Nettoyage/Regroupement des données

2 réponses
Avatar
frederic.facca
Bonjour à tous.b
Voilà mon probléme, j'ai une base de données qui contient notamment deux
tables,
la premiére est la table AUTEUR qui a les champs suivants IdAuteur, Nom,
Prenom
la seconde est la table LIVRE qui a les champs IdLivre, Titre, IdAuteur
l'IdAuteur de la table LIVRE fait une liaison sur un Auteur de la table
AUTEUR
Mon probléme est que ma table AUTEUR contient plusieurs fois le même auteur
mais avec des orthographes différentes.
Je veux donc faire du ménage dans cette table, et de ce fait dans la table
LIVRE car il faudra que je ré-affecte les bons IdAauteur.

Mon idée est la suivante :
Etape1 : Renommer les différents même auteur avec la même orthographe
Etape2 : Pour chaque groupe de même auteur, changer l'IdAuteur de chaque
livre avec le premier de mon groupe
Etape3 : Supprimer dans la table AUTEUR, les auteurs qui ne sont pas
utilisés

J'ai du mal a implémenter concrétement cette méthode de regroupement
d'auteur.
Si vous pourriez m'apporter de l'aide je vous en serais fort reconnaissant.

Merci à tous.

Frédéric.

2 réponses

Avatar
Laurent Moreau
Tu peux faire ainsi:

Ajouter un champ a la table Auteur:
NouveauIdAuteur (Int) NULL


Saisir tes mises a jours:
ex, l'auteur IdAuteur2 et en fait un clone de IdAuteurg
Donc pour IdAuteur2, rentre NouveauIdAuteur g


Requete pour mettre a jour dans Livre:

UPDATE Livre
SET IdAuteur = Auteur.NouveauIdAuteur
FROM Auteur
WHERE Livre.IdAuteur = Auteur.IdAuteur
AND Auteur.NouveauIdAuteur IS NOT NULL


Une fois tout mis a jour, tu peux supprimer le champ NouveauIdAuteur de la
table Auteur




Avant toute manip je te conseil de sauver tes 2 tables
ainsi par exemple:
SELECT * INTO SauveAuteur FROM Auteur
SELECT * INTO SauveLivre FROM Livre



Laurent.





"frederic.facca" wrote in message
news:%
Bonjour à tous.b
Voilà mon probléme, j'ai une base de données qui contient notamment deux
tables,
la premiére est la table AUTEUR qui a les champs suivants IdAuteur, Nom,
Prenom
la seconde est la table LIVRE qui a les champs IdLivre, Titre, IdAuteur
l'IdAuteur de la table LIVRE fait une liaison sur un Auteur de la table
AUTEUR
Mon probléme est que ma table AUTEUR contient plusieurs fois le même


auteur
mais avec des orthographes différentes.
Je veux donc faire du ménage dans cette table, et de ce fait dans la table
LIVRE car il faudra que je ré-affecte les bons IdAauteur.

Mon idée est la suivante :
Etape1 : Renommer les différents même auteur avec la même orthographe
Etape2 : Pour chaque groupe de même auteur, changer l'IdAuteur de chaque
livre avec le premier de mon groupe
Etape3 : Supprimer dans la table AUTEUR, les auteurs qui ne sont pas
utilisés

J'ai du mal a implémenter concrétement cette méthode de regroupement
d'auteur.
Si vous pourriez m'apporter de l'aide je vous en serais fort


reconnaissant.

Merci à tous.

Frédéric.





Avatar
Frédéric Facca
Merci beaucoup pour ton aide.

Frédéric.

"Laurent Moreau" a écrit dans le message
de news: bovifu$a16$
Tu peux faire ainsi:

Ajouter un champ a la table Auteur:
NouveauIdAuteur (Int) NULL


Saisir tes mises a jours:
ex, l'auteur IdAuteur2 et en fait un clone de IdAuteurg
Donc pour IdAuteur2, rentre NouveauIdAuteur g


Requete pour mettre a jour dans Livre:

UPDATE Livre
SET IdAuteur = Auteur.NouveauIdAuteur
FROM Auteur
WHERE Livre.IdAuteur = Auteur.IdAuteur
AND Auteur.NouveauIdAuteur IS NOT NULL


Une fois tout mis a jour, tu peux supprimer le champ NouveauIdAuteur de la
table Auteur




Avant toute manip je te conseil de sauver tes 2 tables
ainsi par exemple:
SELECT * INTO SauveAuteur FROM Auteur
SELECT * INTO SauveLivre FROM Livre



Laurent.





"frederic.facca" wrote in message
news:%
> Bonjour à tous.b
> Voilà mon probléme, j'ai une base de données qui contient notamment deux
> tables,
> la premiére est la table AUTEUR qui a les champs suivants IdAuteur, Nom,
> Prenom
> la seconde est la table LIVRE qui a les champs IdLivre, Titre, IdAuteur
> l'IdAuteur de la table LIVRE fait une liaison sur un Auteur de la table
> AUTEUR
> Mon probléme est que ma table AUTEUR contient plusieurs fois le même
auteur
> mais avec des orthographes différentes.
> Je veux donc faire du ménage dans cette table, et de ce fait dans la


table
> LIVRE car il faudra que je ré-affecte les bons IdAauteur.
>
> Mon idée est la suivante :
> Etape1 : Renommer les différents même auteur avec la même orthographe
> Etape2 : Pour chaque groupe de même auteur, changer l'IdAuteur de chaque
> livre avec le premier de mon groupe
> Etape3 : Supprimer dans la table AUTEUR, les auteurs qui ne sont pas
> utilisés
>
> J'ai du mal a implémenter concrétement cette méthode de regroupement
> d'auteur.
> Si vous pourriez m'apporter de l'aide je vous en serais fort
reconnaissant.
>
> Merci à tous.
>
> Frédéric.
>
>
>