Bonsoir tout le monde,
Je ne sais pas si c'est parce que c'est vendredi soir ou parce que je suis nul mais je m'arrache les cheveux sur une requête.
J'ai une table dans la base 'intranet' qui contient des marchés (intranet.marches1) et une table dans la base 'gesam' qui contient des services (gesam.services), chaque marché peut être rattaché à un service par une clé étrangère qui est la clé primaire de la table service, ca c'est classique. Si pour un marché donné le service n'a pas été renseigné, son champ a pour valeur 0.
Ma requete doit lister les marchés de la table intranet.marches1, que le service ait été renseigné ou non. Pour ce faire j'avais cette requête :
qui marche très bien, seulement maintenant je voudrais appliquer des conditions supplémentaires sur la table intranet.marche1, par exemple elle contient un champ 'designation', et je voudrais pouvoir faire un like dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT marches1.*, services.libelleService FROM intranet.marches1 marches1 LEFT JOIN gesam.services services ON marches1.code_site = services.noService
Donc j'ai bettement rajouté ce AND :
seulement j'ai systématiquement tous les enregistrement de la table intranet.marche1 même si aucun ne contient le 'motifAChercher' !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT marches1.*, services.libelleService FROM intranet.marches1 marches1 LEFT JOIN gesam.services services ON marches1.code_site = services.noService AND marches1.designation LIKE '%motifAChercher%'
J'ai essayé de m'en sortir avec ce cours http://sqlpro.developpez.com/cours/sqlaz/jointures/ mais rien à faire je ne m'en sors pas =(
Merci d'avance pour votre aide !
Partager