Bonjour, merci de prendre connaissance de ma requête afin d'apporter une reponse adequat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Select DISTINCT A.liret, A.Intitule, A.Sal, A.lieu A.resume From table1 A, table2 B Where A.Intitule like ? OR A. Detail like ? OR A.Profil like ? OR A.Acivity like ? AND A.lieu = ? AND B.pays = ? AND A.SiretCLI = B.siret + " ORDER BY DatDepot DESC LIMIT " + pageStart+ "," + PageEnd ;
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 for (int i =0; i < keyword.length; i++) { ps.setString(1, '%'+keyword[i]+'%'); ps.setString(2, '%'+keyword[i]+'%'); ps.setString(3, '%'+keyword[i]+'%'); ps.setString(4, '%'+keyword[i]+'%'); ps.setString(5, lieu); ps.setString(6, pay); rs = ps.executeQuery(); .. . }
Pour clarification, la boucle for() appelle la requete plusieur fois selon la taille keyword.length .
Pour chaque exécution de la requete, les critères 1 2,3,4 prennent la même valeur exemple boys
et effectue la recherche dans les zone avec condition like, ensuite le boucle appelle de nouveau la requête avec le critère
suivant exemple ingénieur et effectuer la même recherche, Cette opération continue jusqu’à ce que tous les critères soient recherche
Problème 1:
Le résultat génére les doublons( par exemple si deux ou plusieurs critères de recherche figurent sur une
même ligne, la ligne est généré plusieurs fois.
Problème 2:
Après plusieurs essaies, j'ai constaté que le mot "limit" dans le SELECT impact le mot "like".
C'est-à-dit la recherche est effectué uniquement sur le champ “A.Intitule like ?”
au lieux d'effectuer la recherche sur tous les champs
Est-ce que quelque peux apporter une solution pour améliorer ma requête.
Bonne réception
Partager