Bonjour,
Je souhaiterai faire une recherche de mot clés dans mon champs "Type" afin d'afficher dans une autre colonne "Type_Desc" le mot VOITURE si un des termes est trouvés. Je "complique" ensuite la requête si le mot est trouvé en vérifiant qu'il y a bien tel mot ou tel mot dans le champs Reference
Je pensais faire la requête suivante mais je m'apercois qu'une erreur est générée du fait de l'utilisation de CONTAINS :
La requête :
J'ai le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 UPDATE TEMP SET Type_Desc = (CASE WHEN ( ((Type)='VT' AND CONTAINS (Reference, '%CLIO% OR %mégane% OR %Ferrari% OR %golf% OR %Golf% OR %GOLF%')) OR ((Type)='VHQ' AND CONTAINS (Reference, '%CLIO% OR %mégane% OR %Ferrari% OR %golf% OR %Golf% OR %GOLF%')) OR ((Type)='VEHICULE' AND CONTAINS (Reference, '%CLIO% OR %mégane% OR %Ferrari% OR %golf% OR %Golf% OR %GOLF%')) OR (Type)='A' OR (Type)='4' ) THEN 'VOITURE' ELSE 'MOTO' END )
J'ai du coup chercher un peu et je suis tombé la dessus pour SQL Server 2005: http://labs.bewise.fr/Article/Mise-e...L-Server-2005/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Impossible d'utiliser le prédicat CONTAINS ou FREETEXT sur table ou vue indexée 'TEMP', car il n'y a pas d'index de texte intégral.
Seulement je me demande si c'est bien cette solution que je dois adopter et adapter pour ma base SQL Server 2008 ?
Ou il y a t-il d'autre solution ? Je pourrais utiliser le LIKE dans ma requête mais je suis obligé de préciser à chaque fois la colonne...
Voila, merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part (Reference) LIKE %CLIO% OR (Reference) LIKE %Clio% OR (Reference) LIKE...
Cordialement bibouex
Partager