Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/12/2004, 14h08   #1
Invité régulier
 
Inscription : octobre 2004
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 15
Points : 7
Points : 7
Envoyer un message via ICQ à CappCorp
Par défaut [SET]Recherche d'éléments communs à 2 sets

Bonjour,

Je cherche à vérifier la présence d'au moins un des éléments d'un SET dans un autre SET.

Plus précisément, il s'agit dans une fonction de recherche, de trouver les entrées de la base de données pour lesquelles le SET contient au moins une des valeurs fournies à la recherche.

Par exemple, imaginons un SET ayant pour liste de valeurs ('A', 'B', 'C', 'D').
Si la recherche soumise est ('A', 'B'), je veux sortir toutes les entrées contenant au moins 'A' ou 'B'. Par exemple, ('A', 'C'), ('B', 'C') feront l'affaire, mais pas ('C', 'D') ou ('C')...

Ceci revient à déterminer si l'intersection du SET de la base et de celui envoyé via la recherche est vide ou non.

J'espère m'être à peu près bien exprimé et que quelqu'un aura une réponse à mon problème.

Merci d'avance.
CappCorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2004, 14h30   #2
Membre éclairé
 
Avatar de piff62
 
Inscription : décembre 2003
Messages : 431
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : décembre 2003
Messages : 431
Points : 362
Points : 362
Un bout de code a nous montrer ?
Je vois pas trop ce que tu cherche vraiment a faire
piff62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2004, 16h58   #3
Invité régulier
 
Inscription : octobre 2004
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 15
Points : 7
Points : 7
Envoyer un message via ICQ à CappCorp
Mettons que j'ai un champ nommé "mon_set" qui vaut

SET('A', 'B', 'C', 'D')

donc les entrées sont sous la forme d'une liste d'un certain nombre de ces éléments (par exemple ('A', 'D'), ('A', 'B', 'D'), ('C') etc.).

De ma recherche, je tire une autre liste d'éléments, qu'on va nommer S.
S est de la forme ('A', 'B'...)

J'ai 4 modes de recherche :
* SET égaux, je vérifie la close
`mon_set`=S
* SET de recherche compris dans le résultat, je vérifie la close
S IN `mon_set`
* résultat compris dans le SET de recherche, je vérifie la close
`mon_set` IN S
* les deux SET ont des éléments en commun, et c'est la que je ne trouve pas la close. J'avais pensé à quelque chose comme FIND_IN_SET, le seul problème étant que je ne peux pas effectuer la vérification sur toutes les valeurs, mais seulement sur une seule de S.

Enfin voilà, j'espère que c'est un peu plus clair
CappCorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 13h23   #4
Invité régulier
 
Inscription : octobre 2004
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 15
Points : 7
Points : 7
Envoyer un message via ICQ à CappCorp
En fait je viens de me rendre compte que pas mal de choses ne marchaient pas tout à fait comme je le pensais avec les types SET et j'ai des difficultés à les utiliser.

Donc, si quelqu'un a des informations d'utilisation avancée des types SET, je suis preneur, sinon je vais devoir vraiment fortement limiter mes options de recherche
CappCorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 15h20   #5
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Bonjour,

Il y a un article assez récent à propos du type SET sur mysql.com : http://dev.mysql.com/tech-resources/...-datatype.html

Je pense que ça pourrait t'aider.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 17h03   #6
Invité régulier
 
Inscription : octobre 2004
Messages : 15
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 15
Points : 7
Points : 7
Envoyer un message via ICQ à CappCorp
Merci, ça semble très complet en effet.

Je vais étudier ça en détail
CappCorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h33.


 
 
 
 
Partenaires

Hébergement Web