[oups je n'avais pas vu qu'une section requête existait, mais je ne pense pas avoir les droits pour déplacer le sujet :p]
Bien le bonjour!
Je viens à vous car j'ai un souci de requête!
Sur mon site j'ai un moteur de recherche qui parse la recherche et qui la compare à différentes tables.
Imaginons une recherche : "Boulanger paris".
Je vais vérifier si boulanger existe dans ma table "metier", et si paris existe dans ma table "ville". En fonction je construis ma requête.
Pour une telle demande voila à quoi ressemble ma requête :
Mon souci est quand a.id_ville = 0. Ce champ n'est pas forcement rempli. Mais du coup ma requête n'affiche rien, car il n'y a pas de résultat au niveau du second MATCH AGAINST.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT a.id_user FROM `user` a LEFT JOIN `metier` b ON b.id_metier = a.id_metier LEFT JOIN `ville` c ON c.id_ville = a.id_ville WHERE MATCH (b.`nom`) AGAINST('boulanger') AND MATCH (c.`name_geo_ville`) AGAINST('paris');
Comment faire pour ajouter une condition qui dise à ma requête d'appliquer le MATCH AGAINST que si mon champ a._id_ville est différent de 0?
Merci à vous!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 IF(a.id_ville != 0) MATCH (c.`name_geo_ville`) AGAINST('paris');
Partager