Bonjour à tous, amis programmeurs.

Voila, j'ai un soucis et j'espère que vous allez pouvoir m'aider.

Dans un premier temps, j'ai trois tables:
_________________
TABLES:
  • tbl_articles
  • tbl_categories
  • tbl_sous_categories

_________________

Dans la première table il y a quatre champs:
_________________
CHAMPS:
  • id_article
  • cat1
  • cat2
  • sous_cat

_________________

ex:
1---2---3---1
2---1---2---3
3---1---1---3

Dans la deuxième il y a 2 champs:
_________________
CHAMPS:
  • id_cat
  • nom_cat

_________________

ex:
1---voiture
2---moto
3---velo

Et dans la troisième aussi:
_________________
CHAMPS:
  • id_sous_cat
  • nom_sous_cat

_________________

ex:
1---diesel
2---essence
3---gaz

Voici ma requête SQL qui pose problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
SELECT 
tbl_articles.id_article,
tbl_categories.nom_cat,
cat2.nom_cat as nom_cat2,
tbl_sous_categories.nom_sous_cat
FROM tbl_articles
LEFT JOIN tbl_categories ON tbl_articles.id_article = tbl_categories.id_cat 
LEFT JOIN tbl_categories as cat2 ON tbl_articles.id_article = tbl_categories.id_cat  
LEFT JOIN tbl_sous_categories ON tbl_articles.id_article = tbl_sous_categories.id_sous_cat   
WHERE id=1
Cette requête fonctionne et m'affiche dans le cas présent:
1---auto---NULL---diesel

Mon soucis c'et le "NULL" qui apparait au lieu de m'afficher:
1---auto---velo---diesel

Il s'agit donc d'afficher un accessoire (article) qui soit compatible avec la catégorie auto et categorie2 vélo et pour sous catégorie diesel

Voila, je ne sais pas si je me suis bien fait comprendre. Merci d'avance pour votre aide.