Bonjour je suis sous mysql et j'ai un problème de jointure, indépendant, je pense de la base. C'est pourquoi je met ce message ici.

J'ai deux tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
CREATE TABLE `modes_livraisons` (
  `mode_livraison_id` int(11) NOT NULL auto_increment,
  `mode_livraison_libelle` varchar(50) NOT NULL default '',
  `mode_livraison_cout` decimal(10,2) NOT NULL default '0.00',
  `mode_livraison_langue` int(11) NOT NULL default '0',
  PRIMARY KEY  (`mode_livraison_id`)
) ;
 
INSERT INTO `modes_livraisons` VALUES (1, 'mode de livraison1', '12.00',  1);
INSERT INTO `modes_livraisons` VALUES (2, 'mode de livraison2', '20.00',  1);
INSERT INTO `modes_livraisons` VALUES (3, 'mode de livraison3', '30.00',  1);
INSERT INTO `modes_livraisons` VALUES (4, 'mode livraison anglais', '11.00',  2);
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
CREATE TABLE produits_livraisons (
  produit_livraison_livraison int(11) NOT NULL default '0',
  produit_livraison_produit int(11) NOT NULL default '0',
  PRIMARY KEY  (produit_livraison_livraison,produit_livraison_produit)
) ;
 
INSERT INTO produits_livraisons VALUES (1, 28);
INSERT INTO produits_livraisons VALUES (1, 29);
INSERT INTO produits_livraisons VALUES (1, 30);
INSERT INTO produits_livraisons VALUES (1, 31);
INSERT INTO produits_livraisons VALUES (2, 29);
INSERT INTO produits_livraisons VALUES (3, 28);
INSERT INTO produits_livraisons VALUES (3, 31);
Ceci me permet d'avoir des modes de livraison et d'associer des modes de livraisons à des produits (J'ai juste mis la table qui relie les produis aux modes).

Ce que je souhaiterais obtenir c'est si un produit est lié ou pas à un mode de livraison :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Pour le produit 28 :
Mode_livraison_id  mode_livraison_libelle produit_livraison_id
--------------------  -------------------------  ----------------------
1                         Mode de livraison 1       28 
2                         Mode de livraison 2       NULL
3                         Mode de livraison 3       28
Voila quelque chose dans le genre qui me liste l'ensemble des modes de livraison et qui me dit si le produit y est associé ou non.

J'ai essayé avec une jointure externe mais ca ne me retourne pas le bon résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SELECT `mode_livraison_id` , `mode_livraison_libelle`, produit_livraison_livraison, produit_livraison_produit
FROM  `modes_livraisons` 
LEFT JOIN produits_livraisons ON produit_livraison_livraison = mode_livraison_id
WHERE produit_livraison_produit = 28 OR produit_livraison_produit IS NULL
Ca ne me retourne que deux lignes et ca ne me dit pas que pour le mode 2 il n'y a rien.

Merci

PS : Si le sujet n'est pas à sa place je suis dsl