{MySQL} creer 1 table à partir de 3 [Résolu/Fermé]

Signaler
-
 LeGhe -
Bonjour,

Je ne m'en sors pas... Alors que mon souci est simple :

J'ai 3 tables :
author : ID et Name
book : ID Titre et Biographie
bookxauthor : BookID et AuthorID

par exemple :
author : 1|Albert Camus
2|Hugo Pratt
book : 1|la Peste|Auteur français
2|Tango|Auteur de BD
3|Les éthiopiques|Auteur de BD
bookxauthor : 1|1
2|2
3|2

Je veux en créer une 4è reprenant author ID et Name, et book Biographie

pour avoir au final

1 Albert Camus Auteur français
2 Hugo Pratt Auteur de BD

Merci infiniment pour votre aide

11 réponses

Messages postés
1041
Date d'inscription
lundi 4 mai 2009
Statut
Webmaster
Dernière intervention
21 avril 2020
60
normalement le GROUP BY aurait du les eliminer ??

Sinon tu peux aussi :
CREATE TABLE table4
SELECT DISTINCT bookxauthor.AuthorID, author.Name, book.Biographie
FROM author
INNER JOIN booxauthor ON (author.ID = bookxauthor.AuthorID)
INNER JOIN book ON (bookxauthor.BookID = book.ID)
GROUP BY bookxauthor.AuthorID, author.Name, book.Biographie

Note le DISTINCT :)
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56833 internautes nous ont dit merci ce mois-ci

Messages postés
102
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
18 juin 2009
1
Tu crée ta 4ème table.
mais tu peux faire un script PHP qui insert dans les 3 premières tables t'es paramètres et ensuite tu refait un INSERT INTO dans ta 4ème table.

J'espère que tu m'a compris lol
Bah pas des masses, je débute à peine...
Messages postés
102
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
18 juin 2009
1
Je vais essayer d'être plus clair ... lol
Est-ce que l'inscription se fait pas une page PHP avec un formulaire ou est-ce que c'est manuel grâce au PHPMyAdmin ???
Manuel via phpmyadmin
INSERT INTO idauteurbio (ID, DisplayName, Biographiedelauteur) SELECT ID, DisplayName FROM author SELECT Biographiedelauteur FROM book

ne fonctionne pas
Messages postés
102
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
18 juin 2009
1
moi je te conseil de te créer un script PHP pour avoir un formulaire que tu mettera sur ton site dans un dossier .htaccess (page protéger par Mot de Passe administrateur que personne ne peux décoder ce Mot de passe crypté)
Messages postés
1041
Date d'inscription
lundi 4 mai 2009
Statut
Webmaster
Dernière intervention
21 avril 2020
60
Bonjour,

Essaie ca (je garantis pas les noms exacts mais le principe y est)

CREATE TABLE table4
SELECT bookxauthor.AuthorID, author.Name, book.Biographie
FROM author
INNER JOIN booxauthor ON (author.ID = bookxauthor.AuthorID)
INNER JOIN book ON (bookxauthor.BookID = book.ID)
GROUP BY bookxauthor.AuthorID, author.Name, book.Biographie

PS modifie table4 pour l'appeler comme tu veux :)
BRAVO !

Et merci, je comprends enfin le bouzin !!!
Merci encore
Dernière question :

Comment éviter ce genre de doublon ?

212 Bill Bryson Bill Bryson est " un enfant de l'Iowa qui pratique...
212 Bill Bryson Bill Bryson est " un enfant de l'Iowa qui pratique...
212 Bill Bryson Bill Bryson est " un enfant de l'Iowa qui pratique...
YES !
C'est un métier ;)
Merci encore !