[Résolu] Condition multiple "souple"

Condition multiple "souple" [Résolu] - SQL/NoSQL - Programmation

Marsh Posté le 11-11-2006 à 18:10:52    

Bonjour à tous,
 
Je débute sous MySQL et j'ai un petit problème pour réaliser une requête :
 
Je souhaiterais chercher dans une table les enregistrements vérifiant un certain nombre de conditions mais avec une marge d"erreur. C'est à dire que j'ai une liste de conditions et je voudrais par exemple avoir les lignes de ma table ayant au maximum 2 de ces conditions fausses.
 
Un exemple, j'ai une table avec une liste de processeurs :
- id
- fabricant
- vitesse
- nombreCoeurs
- prix
- nom
 
si je recherche par exemple "AMD" "2Ghz" "2 Coeurs" "200€" "Athlon64"
 
je souhaiterai obtenir comme réponse possible :
 
"INTEL" "2Ghz" "2 Coeurs" "200€" "Core 2 Duo E6400"
 
où seulement 2 critères sont faux ! (bien sur c'est un exemple, les spécifications ne sont peut être pas exactes :))
 
Je ne peux bien sur pas utiliser des simples expressions booleenes avec des OR AND et autre NOT !
 
Merci d'avance pour vos réponses :)


Message édité par The Mauler le 12-11-2006 à 13:56:11
Reply

Marsh Posté le 11-11-2006 à 18:10:52   

Reply

Marsh Posté le 12-11-2006 à 02:06:23    

On peut peut être jouer sur le fait qu'une condition vérifiée est surement évaluée à 1.
Quelque chose comme :
(col1="aa" ) + (col2="bb" )
doit valoir 2 si les conditions sont remplies, 1 si une seule est vraie ...
 
En sachant combien de conditions tu testes et combien tu en veux qui soient vérifiées, ca me semble jouable [:figti]

Reply

Marsh Posté le 12-11-2006 à 10:56:42    

Oui je n'y avais pas pensé, je ne sais pas si on peut faire ca en SQL mais je vais essayer !
Merci pour ton idée :)
 
EDIT : ton idée marche parfaitement :) merci encore !


Message édité par The Mauler le 12-11-2006 à 13:55:51
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed