Bonsoir,

Pouvez vous m'aider svp ?

Voilà je cherche la bonne façon de faire pour écrire ma requête.

Actuellement j'ai 1 table "abonnes" et une table "abonnements" (liées entre elles)

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
--
-- Structure de la table `abonnes`
--
 
CREATE TABLE IF NOT EXISTS `abonnes` (
  `id_abonne` int(11) NOT NULL AUTO_INCREMENT,
  `nom_abonne` varchar(32) NOT NULL,
  `age_abonne` date NOT NULL,
  `sexe_abonne` varchar(1) NOT NULL,
  PRIMARY KEY (`id_abonne`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
 
--
-- Contenu de la table `abonnes`
--
 
INSERT INTO `abonnes` (`id_abonne`, `nom_abonne`, `age_abonne`, `sexe_abonne`) VALUES
(1, 'pierre', '1978-05-06', 'H'),
(2, 'marie', '1988-02-09', 'F');
 
--
-- Structure de la table `abonnements`
--
 
CREATE TABLE IF NOT EXISTS `abonnements` (
  `id_abonnement` int(11) NOT NULL AUTO_INCREMENT,
  `nom_abonnement` varchar(255) NOT NULL,
  `abonne_abonnement` int(11) NOT NULL,
  PRIMARY KEY (`id_abonnement`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
 
--
-- Contenu de la table `abonnements`
--
 
INSERT INTO `abonnements` (`id_abonnement`, `nom_abonnement`, `abonne_abonnement`) VALUES
(1, 'le monde', 1),
(2, 'l''equipe', 1),
(3, 'marie claire', 1),
(4, 'figaro', 2),
(5, 'lui', 1),
(6, 'elle', 2);

pour afficher tous mes abonnements et les abonnes correspondants j'ai fait ceci (ça affiche tout)

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM `abonnements` LEFT OUTER JOIN abonnes on id_abonne = abonne_abonnement

Ca vous parait juste ? C'est quoi la différence avec le right outer join ?

Mon vrai problème est que je ne sais pas comment écrire et intégrer ma clause where avec mon moteur de recherche.

Si je sélectionne que les abonnes homme "H" ou que les abonnes femme "F" je ne sais pas comment ça se traduit dans ma requête.

Même chose si on me demande de sélectionner les abonnes femme ou homme qui ont tel age (en fonction de la date de naissance)

Merci de m'avoir lue et encore plus si vous pouvez m'aider