|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2009 Messages : 26 ![]() |
Bonjour,
Je ne sais pas comment écrire la requête suivante. J'ai - une table id | groupe | id-droit ------------------------ 1 g2 4 1 g4 3 2 g4 1 3 g2 4 ... - une liste d'identifiants (1, 2) - une liste de nouveaux droits de groupes ((g2 3)(g4 3)) Je souhaiterai mettre à jour l'id-droit des entrées dont id se retrouve dans la liste d'identifiants si le id-droit du groupe est supérieur à celui définit dans la liste de droits de groupes. Donc pour la ligne 1 de la table, l'id-droit devrait être remplacé par 3 (le droit de g2 = 3 < 4). La ligne 2 et 3 sont inchangées (les droits étant inférieurs à celui défini dans la liste des droits). La ligne 4 n'est pas modifiée car l'id n'est pas présents dans la liste d'identifiants. J'espère avoir été clair. Merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour,
Le problème est clair, par contre, comment se présentent vos "listes" s'agit-il de chaines de chaines de caractères ??? Et si c'est le cas, d'ou proviennent les données, et dans quel contexte effectuez-vous la requete ? (est-ce une procédure stockées à laquelle vous spécifiez les listes, ou est-ce que vous "construisez" la requete directement depuis votre programme ?) |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2009 Messages : 26 ![]() |
Les listes ne sont pas des chaînes de caractères.
Je construit la requête directement depuis mon programme. Je pourrais effectuer des boucles dans mon programme pour effectuer les updates, mais j'esperais le faire en une requête sql. |
|
|
00
|
|
|
#4 | ||||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
re,
Effectivement, tu peux faire cela en une seule requete inspire toi de ça pour faire ta requete dynamiquement dans ton programme : Code sql :
il faut que tu soit en Si tu es dans une version antérieure, tu devra les remplacer par une série de SELECT ... UNION ALL SELECT ... Code sql :
|
||||
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : octobre 2009 Messages : 26 ![]() |
Merci beaucoup.
![]() Je vais essayer ceci Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com