Ok j'ai deux tableauxMYSQL se joindre à une table à une autre table unique plusieurs fois meilleure façon
un est entreprise
id
name
telephone
primary_category
secondary_category
tertiary_category
Une autre table est catégorie
id
name
parent_id
maintenant une entreprise doit avoir une catégorie primaire/secondaire et facultative tertiaire dans ce cas est-ce le seul w ay à ce
SELECT * FROM business b
INNER JOIN business_category bc_1 ON b.primary_category = bc.id
INNER JOIN business_category bc_2 ON b.secondary_category = bc.id
LEFT OUTER JOIN business_category bc_3 ON b.tertiary_category = bc.id
Semblent assez longtemps pour que tout ce que je veux est le nom de chaque catégorie dans le tableau d'affaires
ne fonctionne pas ce SELECT * FROM affaires b INNER JOIN bc business_category ON b.primary_category = bc.id ET b.secondary_category = bc.id LEFT OUTER JOIN business_category bc_3 SUR b.tertiary_category = bc_3.id –
@MatthewChambers non, c'est très très différent de 'business b INNER JOIN business_category bc_1 ON b.primary_category = bc.id INNER JOIN business_category bc_2 ON b.secondary_category = bc.id' Si vous faites cela, vous aurez des résultats incorrects. vous ne pouvez pas afficher le nom de la catégorie pour la colonne 'secondary_category'. –
ok merci john et ma structure est ok aussi, pas besoin d'une table entre-la pratique est tout à fait acceptable? –