cs_kalif
Messages postés362Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention24 août 2012
-
17 sept. 2010 à 16:50
OlivierTravail
Messages postés10Date d'inscriptionjeudi 4 février 2010StatutMembreDernière intervention12 février 2011
-
27 sept. 2010 à 00:46
Bonjour,
Je souhaiterai faire une recherche dans ma base de donnée... En cherchant sur google je m'aperçois que je dois utiliser la fonction match() mais elle n'est pas bien expliquer sur le web ... Quelqu'un peut m'expliquer comment elle fonctionne et qu'es ce qu'elle a de plus qu'un LIKE ?
voici un exemple:
1 | Voiture | Jaune
2 | Avion | Vert
3 | Velo | Rouge
Je souhaite que quand l'utilisateur recherche "Avon" ou "j ai une pomme rouge", la base me renvoi la ligne 2 et 3
OlivierTravail
Messages postés10Date d'inscriptionjeudi 4 février 2010StatutMembreDernière intervention12 février 2011 27 sept. 2010 à 00:46
Bonjour,
Le prédicat Match sert de test avant d'effectuer une opération du type insertion ou de suppression d'une ligne dans une table afin de valider que cette opération d'altération de la ligne n'engendre pas de problème d'intégrité dans la base de donnée (comme supprimer un client de la Table_Client qui a fait un achat dans la Table_Achat et se retrouver avec un achat dans Table_Achat qui n'a plus de lien dans Table_Client).
La requête s'écrit comme suit: ... WHERE ('TOTO', 'Bidule') MATCH (Select Client_ID , Produit_ID FROM Table_Achat )
Le prédicat SIMILAR peut être une bonne alternative: le cas numéro 2 de votre exemple: WHERE MoTRecherché SIMILAR TO '%rouge%' le premier cas devrait s'écrire: WHERE MoTRecherché SIMILAR TO '(Avon)|(Avion)'