Ok, je vais compléter l'explication de mon premier message avec la structure (simplifiée) des 2 tables :
--
-- Structure de la table `tbl_s`
--
CREATE TABLE `tbl_s` (
`id_p` varchar(15) NOT NULL default '',
`nom_p` varchar(40) NOT NULL default '',
`prenom_p` varchar(40) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Contenu de la table `tbl_s`
--
INSERT INTO `tbl_s` VALUES ('52000', 'Boudo', 'Brigitte');
INSERT INTO `tbl_s` VALUES ('52100', 'Potter', 'Dominique');
INSERT INTO `tbl_s` VALUES ('53000', 'Deco', 'Alain');
--
-- Structure de la table `tbl_f`
--
CREATE TABLE `tbl_f` (
`F0` int(5) NOT NULL auto_increment,
`F11` varchar(15) NOT NULL default '',
`F13` varchar(15) NOT NULL default '',
`F15` char(1) NOT NULL default '',
PRIMARY KEY (`F0`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=145 ;
--
-- Contenu de la table `tbl_f`
--
INSERT INTO `tbl_f` VALUES (59, '52000', '52100', '2');
INSERT INTO `tbl_f` VALUES (60, '52100', '52100', '');
INSERT INTO `tbl_f` VALUES (61, '52000', '52100', '');
INSERT INTO `tbl_f` VALUES (62, '53000', '52100', '2');
INSERT INTO `tbl_f` VALUES (120, '52000', '52100', '2');
INSERT INTO `tbl_f` VALUES (143, '52100', '52100', '1');
INSERT INTO `tbl_f` VALUES (142, '52100', '52100', '');
INSERT INTO `tbl_f` VALUES (137, '52000', '52100', '2');
INSERT INTO `tbl_f` VALUES (138, '52100', '52100', '');
INSERT INTO `tbl_f` VALUES (139, '52100', '52100', '');
INSERT INTO `tbl_f` VALUES (140, '52100', '52100', '');
INSERT INTO `tbl_f` VALUES (141, '52100', '52100', '');
INSERT INTO `tbl_f` VALUES (134, '53000', '52000', '2');
INSERT INTO `tbl_f` VALUES (136, '52000', '52100', '2');
INSERT INTO `tbl_f` VALUES (144, '52000', '52100', '2');
Comme indiqué dans mon premier message :
La sélection est faite en fonction de certains résultats (en particulier des valeurs dans F11, F13 et F15). En bout de course, j'obtiens bien les bonnes extractions (voir requête ci-dessous), si ce n'est que je souhaiterais voir s'afficher sur chaque ligne les valeurs associées à F11 et non à F13. Actuellement, la requête ne me sort pas le nom et le prénom (de la table tbl_s) associé à F11.
Y a-t-il un moyen de faire cela d'une manière simple ? Ou doit-je me résoudre à faire cela en plusieurs étapes et quelques complications ?
Avec EasyPHP, la sélection suivante :
Code : Tout sélectionner
SELECT * FROM tbl_f, tbl_s
where (tbl_f.F11=tbl_s.id_p AND tbl_f.F15='''')
OR (tbl_f.F13=tbl_s.id_p AND tbl_f.F13=52000 AND tbl_f.F15!=1)
OR tbl_f.F15=''
OR tbl_f.F11=52000
GROUP BY tbl_f.F0
me donne les résultats suivants :
F0 F11 F13 F15 id_p nom_p prenom_p
59 52000 52100 2 52000 Boudo Brigitte
60 52100 52100 52000 Boudo Brigitte
61 52000 52100 52000 Boudo Brigitte
120 52000 52100 2 52000 Boudo Brigitte
134 53000 52000 2 52000 Boudo Brigitte
136 52000 52100 2 52000 Boudo Brigitte
137 52000 52100 2 52000 Boudo Brigitte
138 52100 52100 52000 Boudo Brigitte
139 52100 52100 52000 Boudo Brigitte
140 52100 52100 52000 Boudo Brigitte
141 52100 52100 52000 Boudo Brigitte
142 52100 52100 52000 Boudo Brigitte
144 52000 52100 2 52000 Boudo Brigitte
Ce que je recherche, c'est par ex que pour la ligne 138, j'obtienne :
138 52100 52100
52100 Potter Dominique
D'avance merci pour vos conseils.