Attribution Nom Categorie à Id Categorie ..

WRInaute discret
Bonjour.

J'ai deux tables .

Table1
id_categorie ( 1 , 2 , 3 ... )
nom_categorie ( avec des trucs genres Science Fiction, Historique, Policier )

Table2
Id_livre
nom_livre
categorie_1 ( 1 )
categorie_2 ( 4 )
categorie_3 ( 8 )

Lorsque j'affiche ma requete j'aimerais que le numero de la catégorie soit remplacer par le nom de la categorie .
Je sais le faire pour une categorie avec cette requete :

SELECT table2.titre, table1.categorie FROM `table2`,`table1` where table1.id_categorie = table2.categorie_1

Mais je ne sais pas comment afficher toutes les catégories pour un livre .

Merci
 
WRInaute occasionnel
Bonjour NoWayHome,

il me semble que la conception de ta base de données n'est pas très cohérente.
Il faudrait plutôt à mon humble avis, la construire en 3 tables.

Table1 - CATEGORIES
  • id_categorie ( 1 , 2 , 3 ... )
  • nom_categorie ( avec des trucs genres Science Fiction, Historique, Policier )

Table2 - APPARTENIR
  • id_categorie ( 1 , 2 , 3 ... )
  • Id_livre

Table3 - LIVRES
  • Id_livre
  • nom_livre

La requête devient alors :
Code:
SELECT table3.titre, table1.nom_categorie 
FROM table1, table2, table3
WHERE table1.id_categorie = table2.id_categorie
AND table2.Id_livre = table3.Id_livre;
 
WRInaute discret
Protée a dit:
Bonjour NoWayHome,

il me semble que la conception de ta base de données n'est pas très cohérente.
Il faudrait plutôt à mon humble avis, la construire en 3 tables.

Table1 - CATEGORIES
  • id_categorie ( 1 , 2 , 3 ... )
  • nom_categorie ( avec des trucs genres Science Fiction, Historique, Policier )

Table2 - APPARTENIR
  • id_categorie ( 1 , 2 , 3 ... )
  • Id_livre

Table3 - LIVRES
  • Id_livre
  • nom_livre

La requête devient alors :
Code:
SELECT table3.titre, table1.nom_categorie 
FROM table1, table2, table3
WHERE table1.id_categorie = table2.id_categorie
AND table2.Id_livre = table3.Id_livre;


Bonsoir NoWayHome,

En fait en lisant ta réponse, je me posé la question,
pourquoi faire 3 tables ?

Je comprend la technique de l'UNION, qui est très pratique.
Mais dans son cas, est-ce vraiment utile ?

J'aurais u tendance faire avec deux tables:

Table1 - CATEGORIES
  • id_categorie ( 1 , 2 , 3 ... )
  • nom_categorie

Table2 - LIVRES
  • Id_livre
  • nom_livre
  • id_cat


Et ensuite la requet SQL :

Code:
SELECT table1.nom_categorie, table2.nom_livre 
FROM table1, table2,
WHERE table1.id_categorie = table2.id_cat


Enfin, je ne maîtrise pas parfaitement le SQL,

Donc, ça m'intéresse de comprendre pourquoi 3 e Table. ;-)


Luc
 
WRInaute discret
Oupsss...

Autant pour moi, je viens de comprendre. :oops:
Je n'avais pas percuté qu'un livre peux être dans plusieurs catégories différentes.

Donc, effectivement, il faut une troisième table. :wink:
 
Discussions similaires
Haut