Select d'un champs qui contient plusieurs entré

Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 22 déc. 2008 à 11:21
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 22 déc. 2008 à 13:42
Bonjour,

j'ai un problème avec une requête qui concerne deux tables au sein d'une même base de données. Je vous décris mon problème:

Voila la requête de base que j'ai écrite:

SELECT collection.libelle
FROM collection
INNER JOIN fournisseurs ON collection.id = fournisseurs.coderegion
WHERE fournisseurs.libelle = 'XXXXX'

mon problème, c'est que le champs collection.libelle contient un ou plusieurs chiffres qui sont concaténés entre eux par des points virgules lorsqu'il y en a plusieurs.

Exemple:

on peut avoir 74;
on peut avoir un champs vide
ou on peut avoir 74;56;112;2;

Je n'ai pas de soucis lorsque le champs est vide ou lorsqu'il n'y a qu'une seul entrée. mais lorsqu'il y plusieurs entrées, il me reconnaît le tous comme une seule entrée.

Si quelqu'un peut me conseiller afin que je puisse séparer ces multi-entrées je lui en serais reconnaissant.

Merci d'avance.

Beberto56

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
22 déc. 2008 à 13:42
salut,

C'est un defaut de conception de base de données

Il faut donc spliter le champ
exemple de procédure de split (la methode ne marche peut etre pas)

http://lists.mysql.com/mysql/199128

Et mettre dans une table temporaire

Le plus propre est de faire une table liée ;-)
0
Rejoignez-nous