Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a
trouer la solution :
j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la
possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la
colonne les informations sont séparées des virgules.
Supposant 3 Utilisateurs u1, u2, u3
u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D
u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F
u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F
ce que je voudrais faire c'est une procédure stocké en TSql qui prend comme
paramètre une donnée inséré ( F par exemple ) et elle retourne en résultat
les noms des utilisateurs qui on insérer cette donnée (u2 et u3 dans ce cas)
Je travail sous Sql Server 2005
Merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe
Je pense que le mieux serait si ton nombre de champ est fixe de faire des champs A, B, C, D etc en boolean par exemple sinon en core le mieux c'est du referenciel une table utilisateur et une table liée avec autant de resultats que le choix des utilisateurs.
TABLE A ID, NOM, PRENOM etc...
TABLE B ID, ID_A, VAL 1, u1, A 2, u1, B 3,u1, D 4, u2, B 5, u2, C 6,u2, F 7, u2, A 8, u2, B 9,u2, F
Apres un simple Select Select * from TABLE_B Where VAL = 'F'
tu aura tout les id utilisateurs Sinon dans ton cas tu peux utiliser le like '%F%' mais c'est juste pour depanner et pas tres propre ni performant.
Select * from maTable where monchamp like '%F%'
Ch.
"Kakid" a écrit dans le message de news:
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a trouer la solution : j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la colonne les informations sont séparées des virgules. Supposant 3 Utilisateurs u1, u2, u3 u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F ce que je voudrais faire c'est une procédure stocké en TSql qui prend
comme
paramètre une donnée inséré ( F par exemple ) et elle retourne en résultat les noms des utilisateurs qui on insérer cette donnée (u2 et u3 dans ce
cas)
Je travail sous Sql Server 2005 Merci d'avance
Je pense que le mieux serait si ton nombre de champ est fixe de faire des
champs A, B, C, D etc en boolean par exemple
sinon en core le mieux c'est du referenciel
une table utilisateur et une table liée avec autant de resultats que le
choix des utilisateurs.
TABLE A
ID, NOM, PRENOM etc...
TABLE B
ID, ID_A, VAL
1, u1, A
2, u1, B
3,u1, D
4, u2, B
5, u2, C
6,u2, F
7, u2, A
8, u2, B
9,u2, F
Apres un simple Select
Select * from TABLE_B
Where VAL = 'F'
tu aura tout les id utilisateurs
Sinon dans ton cas tu peux utiliser le like '%F%'
mais c'est juste pour depanner et pas tres propre ni performant.
Select * from maTable where monchamp like '%F%'
Ch.
"Kakid" <spipiho@caramail.com> a écrit dans le message de
news:OIpM2njjGHA.4588@TK2MSFTNGP05.phx.gbl...
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a
trouer la solution :
j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la
possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la
colonne les informations sont séparées des virgules.
Supposant 3 Utilisateurs u1, u2, u3
u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D
u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F
u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F
ce que je voudrais faire c'est une procédure stocké en TSql qui prend
comme
paramètre une donnée inséré ( F par exemple ) et elle retourne en résultat
les noms des utilisateurs qui on insérer cette donnée (u2 et u3 dans ce
Je pense que le mieux serait si ton nombre de champ est fixe de faire des champs A, B, C, D etc en boolean par exemple sinon en core le mieux c'est du referenciel une table utilisateur et une table liée avec autant de resultats que le choix des utilisateurs.
TABLE A ID, NOM, PRENOM etc...
TABLE B ID, ID_A, VAL 1, u1, A 2, u1, B 3,u1, D 4, u2, B 5, u2, C 6,u2, F 7, u2, A 8, u2, B 9,u2, F
Apres un simple Select Select * from TABLE_B Where VAL = 'F'
tu aura tout les id utilisateurs Sinon dans ton cas tu peux utiliser le like '%F%' mais c'est juste pour depanner et pas tres propre ni performant.
Select * from maTable where monchamp like '%F%'
Ch.
"Kakid" a écrit dans le message de news:
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a trouer la solution : j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la colonne les informations sont séparées des virgules. Supposant 3 Utilisateurs u1, u2, u3 u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F ce que je voudrais faire c'est une procédure stocké en TSql qui prend
comme
paramètre une donnée inséré ( F par exemple ) et elle retourne en résultat les noms des utilisateurs qui on insérer cette donnée (u2 et u3 dans ce
cas)
Je travail sous Sql Server 2005 Merci d'avance
Patrice
Par exemple quelque chose comme MesValeurs LIKE '%'+@Car+'%'
Plus généralement : ','+MesValeurs+',' LIKE '%,'+@Car+',%' (sinon la forme 1 pourra poser problème pour A,BC,CD,X par exemple avec une recherche sur C)
Ceci dit ma préférence personnelle serait sans doute de ne pas utiliser des champs "multivalués" mais d'avoir une table fille dont chaque ligne stocke l'une des valeurs choisis par un utilisateur... -- Patrice
"Kakid" a écrit dans le message de news:
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a trouer la solution : j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la colonne les informations sont séparées des virgules. Supposant 3 Utilisateurs u1, u2, u3 u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F ce que je voudrais faire c'est une procédure stocké en TSql qui prend comme paramètre une donnée inséré ( F par exemple ) et elle retourne en résultat les noms des utilisateurs qui on insérer cette donnée (u2 et u3 dans ce cas) Je travail sous Sql Server 2005 Merci d'avance
Par exemple quelque chose comme MesValeurs LIKE '%'+@Car+'%'
Plus généralement :
','+MesValeurs+',' LIKE '%,'+@Car+',%' (sinon la forme 1 pourra poser
problème pour A,BC,CD,X par exemple avec une recherche sur C)
Ceci dit ma préférence personnelle serait sans doute de ne pas utiliser des
champs "multivalués" mais d'avoir une table fille dont chaque ligne stocke
l'une des valeurs choisis par un utilisateur...
--
Patrice
"Kakid" <spipiho@caramail.com> a écrit dans le message de news:
OIpM2njjGHA.4588@TK2MSFTNGP05.phx.gbl...
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a
trouer la solution :
j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la
possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la
colonne les informations sont séparées des virgules.
Supposant 3 Utilisateurs u1, u2, u3
u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D
u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F
u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F
ce que je voudrais faire c'est une procédure stocké en TSql qui prend
comme paramètre une donnée inséré ( F par exemple ) et elle retourne en
résultat les noms des utilisateurs qui on insérer cette donnée (u2 et u3
dans ce cas)
Je travail sous Sql Server 2005
Merci d'avance
Par exemple quelque chose comme MesValeurs LIKE '%'+@Car+'%'
Plus généralement : ','+MesValeurs+',' LIKE '%,'+@Car+',%' (sinon la forme 1 pourra poser problème pour A,BC,CD,X par exemple avec une recherche sur C)
Ceci dit ma préférence personnelle serait sans doute de ne pas utiliser des champs "multivalués" mais d'avoir une table fille dont chaque ligne stocke l'une des valeurs choisis par un utilisateur... -- Patrice
"Kakid" a écrit dans le message de news:
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a trouer la solution : j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la colonne les informations sont séparées des virgules. Supposant 3 Utilisateurs u1, u2, u3 u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F ce que je voudrais faire c'est une procédure stocké en TSql qui prend comme paramètre une donnée inséré ( F par exemple ) et elle retourne en résultat les noms des utilisateurs qui on insérer cette donnée (u2 et u3 dans ce cas) Je travail sous Sql Server 2005 Merci d'avance
Kakid
Merci beaucoup Christophe et Patrice, je vais enmployer la seconde méthode celle de la table fille, Merci encore Cordialement
"Patrice" a écrit dans le message de news:
Par exemple quelque chose comme MesValeurs LIKE '%'+@Car+'%'
Plus généralement : ','+MesValeurs+',' LIKE '%,'+@Car+',%' (sinon la forme 1 pourra poser problème pour A,BC,CD,X par exemple avec une recherche sur C)
Ceci dit ma préférence personnelle serait sans doute de ne pas utiliser des champs "multivalués" mais d'avoir une table fille dont chaque ligne stocke l'une des valeurs choisis par un utilisateur... -- Patrice
"Kakid" a écrit dans le message de news:
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a trouer la solution : j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la colonne les informations sont séparées des virgules. Supposant 3 Utilisateurs u1, u2, u3 u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F ce que je voudrais faire c'est une procédure stocké en TSql qui prend comme paramètre une donnée inséré ( F par exemple ) et elle retourne en résultat les noms des utilisateurs qui on insérer cette donnée (u2 et u3 dans ce cas) Je travail sous Sql Server 2005 Merci d'avance
Merci beaucoup Christophe et Patrice, je vais enmployer la seconde méthode
celle de la table fille,
Merci encore
Cordialement
"Patrice" <scribe@chez.com> a écrit dans le message de news:
O3ZdsxjjGHA.1600@TK2MSFTNGP04.phx.gbl...
Par exemple quelque chose comme MesValeurs LIKE '%'+@Car+'%'
Plus généralement :
','+MesValeurs+',' LIKE '%,'+@Car+',%' (sinon la forme 1 pourra poser
problème pour A,BC,CD,X par exemple avec une recherche sur C)
Ceci dit ma préférence personnelle serait sans doute de ne pas utiliser
des champs "multivalués" mais d'avoir une table fille dont chaque ligne
stocke l'une des valeurs choisis par un utilisateur...
--
Patrice
"Kakid" <spipiho@caramail.com> a écrit dans le message de news:
OIpM2njjGHA.4588@TK2MSFTNGP05.phx.gbl...
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas
a trouer la solution :
j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a
la possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans
la colonne les informations sont séparées des virgules.
Supposant 3 Utilisateurs u1, u2, u3
u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 :
A,B,D
u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 :
B,C,F
u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 :
A,B,F
ce que je voudrais faire c'est une procédure stocké en TSql qui prend
comme paramètre une donnée inséré ( F par exemple ) et elle retourne en
résultat les noms des utilisateurs qui on insérer cette donnée (u2 et u3
dans ce cas)
Je travail sous Sql Server 2005
Merci d'avance
Merci beaucoup Christophe et Patrice, je vais enmployer la seconde méthode celle de la table fille, Merci encore Cordialement
"Patrice" a écrit dans le message de news:
Par exemple quelque chose comme MesValeurs LIKE '%'+@Car+'%'
Plus généralement : ','+MesValeurs+',' LIKE '%,'+@Car+',%' (sinon la forme 1 pourra poser problème pour A,BC,CD,X par exemple avec une recherche sur C)
Ceci dit ma préférence personnelle serait sans doute de ne pas utiliser des champs "multivalués" mais d'avoir une table fille dont chaque ligne stocke l'une des valeurs choisis par un utilisateur... -- Patrice
"Kakid" a écrit dans le message de news:
Salut tout le monde, voilà j'ai une petite question dont je n'arrive pas a trouer la solution : j'utilise une colonne pour stocker différentes valeurs, l'utilisateur a la possibilités d'en choisir plusieurs valeurs parmi : A B C D E F , dans la colonne les informations sont séparées des virgules. Supposant 3 Utilisateurs u1, u2, u3 u1 choisi A B D , dans la table on aura colonne 1 : u1 - colonne 2 : A,B,D u2 choisi B C F , dans la table on aura colonne 1 : u2 - colonne 2 : B,C,F u3 choisi A B F , dans la table no aura colonne 1 : u3 - colonne 2 : A,B,F ce que je voudrais faire c'est une procédure stocké en TSql qui prend comme paramètre une donnée inséré ( F par exemple ) et elle retourne en résultat les noms des utilisateurs qui on insérer cette donnée (u2 et u3 dans ce cas) Je travail sous Sql Server 2005 Merci d'avance