Jointure de tables
Posté : 22 sept. 2008, 01:56
Bonjour à tous,
j'ai une table "offres" constituée comme ceci:
et une table "params" qui stocke une série de paramètres valant 0 ou 1, pour chaque offre
Vous l'avez compris, offre.id est égal à params.idoffre pour chaque enregistrement.
Pour sélectionner toutes les offres qui ont des paramètres, je fais ceci:
Je traite ensuite chaque enregistrement avec mysql_fetch_array sans difficultés.
Mon problème: certaines de mes offres n'ont pas encore de paramètres définis.
La table "offres" peut donc contenir un enregistrement qui n'est pas associé dans "params".
Ma question: comment construire une requete qui liste toutes les offres de la table "offres", en récupérant les paramètres s'il y en a dans "params", et en mettant une valeur par défaut s'il n'y a pas de paramètres?
Merci pour vos réponses.
j'ai une table "offres" constituée comme ceci:
Code : Tout sélectionner
CREATE TABLE `offre` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(155) NOT NULL default '',
`days` int(10) unsigned NOT NULL default '0',
`price` float(10,2) NOT NULL default '0.00',
`description` text NOT NULL
Code : Tout sélectionner
CREATE TABLE `params` (
`id` int(10) unsigned NOT NULL auto_increment,
`idoffre` int(10) NOT NULL default '0',
`param1` tinyint(1) NOT NULL default '0',
`param2` tinyint(1) NOT NULL default '0',
`param3` tinyint(1) NOT NULL default '0'
Pour sélectionner toutes les offres qui ont des paramètres, je fais ceci:
Code : Tout sélectionner
SELECT * FROM offres, params WHERE offres.id = params.idoffre
Mon problème: certaines de mes offres n'ont pas encore de paramètres définis.
La table "offres" peut donc contenir un enregistrement qui n'est pas associé dans "params".
Ma question: comment construire une requete qui liste toutes les offres de la table "offres", en récupérant les paramètres s'il y en a dans "params", et en mettant une valeur par défaut s'il n'y a pas de paramètres?
Merci pour vos réponses.