Bonjour,
J'ai une requête qui ne me donne pas le résultat que je souhaite. Ca veut dire qu'elle est mal écrite, mais je ne vois pas comment faire.
Voici la requête :
SELECT t1.id_identite, t1.nom, t1.prenom, t1.surnom, t1.id_photo, t1.numero, t2.id_photo, t2.nom_photo, t2.nom_clair, t2.en_ligne FROM photo_identite AS t1, photo_photo AS t2 WHERE t2.en_ligne = '0' AND t1.id_photo = t2.id_photo AND t1.prenom LIKE '%bou%' OR t1.nom LIKE '%bou%' GROUP BY t1.nom, t1.prenom
Et voici le schéma des tables :
1 2 3 4 5 6 7 8 9
|
CREATE TABLE IF NOT EXISTS `photo_photo` (
`id_photo` int NOT NULL AUTO_INCREMENT,
`nom_photo` varchar(32) NOT NULL,
`nom_clair` varchar(32) NOT NULL,
`annee` int NOT NULL,
`en_ligne` int NOT NULL,
PRIMARY KEY (`id_photo`)
) ENGINE=MyISAM AUTO_INCREMENT=98 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; |
et
1 2 3 4 5 6 7 8 9 10
| CREATE TABLE IF NOT EXISTS `photo_identite` (
`id_identite` int NOT NULL AUTO_INCREMENT,
`nom` varchar(32) NOT NULL,
`prenom` varchar(32) NOT NULL,
`surnom` varchar(32) NOT NULL,
`genre` varchar(3) NOT NULL,
`id_photo` tinyint NOT NULL,
`numero` tinyint NOT NULL,
PRIMARY KEY (`id_identite`)
) ENGINE=InnoDB AUTO_INCREMENT=2276 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; |
Je fais une recherche par nom ou prénom par autocomplétion, avec un résultat QUE SI la photo est en ligne. Et voici le résultat obtenu :
Je précise que sur la dernière ligne de ma copie d'écran, le champ en_ligne de la seconde table est à 0
Qui peut m'aider pour la requête correcte svp ?
Merci par avance
Partager