cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 2010
-
27 févr. 2006 à 12:38
cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 2010
-
28 févr. 2006 à 10:20
Bonjour à tous,
J'ai un problème avec une requête sur lequelle j'ai trouver une solution mais je voudrais avoir votre avis pour être sur que ma solution tienne le coup.
Ce que je voudrais en faite c'est pour un groupe donnée et pour un validateur donnée trouver le premier validateur qui possède le groupe en question et qui est autorisé , je sais pas si c'est très clair mais par exemple : si je prend ma table plus haut j'ai :
validateur_id 3 ordre 3 validateur_id 2 ordre 2validateur_id <gras>1 ordre</gras> 1
par exemple si je prend le validateur 3 et le groupe 2 je voudrais avoir le premier validateur qui possède ce groupe "autoriser = 1" mais qui est anterieur au niveau de l'ordre : exemple
validateur_id | ordre | groupe_id | autoriser
1 1 2 1
2 2 2 1
3 3 2 1
si je prend le validateur_id 3 pour groupe_id 2 alors je dois trouver comme résultat validateur_id = 2 car le validateur_id = 2 à l'ordre 2 donc juste en dessous de l'ordre 3 et le groupe 2 autoriser
si je prend ceci :
validateur_id | ordre | groupe_id | autoriser
1 1 2 1
2 2 2 0
3 3 2 1
alors pour le validateur_id 3 pour groupe_id 2 je dois trouver comme resultat validateur_id = 1.
Voila en faite la problématique est pas tellement compliqué,
Voici ma requête qui me permet de faire ceci :
String * requete = S"SELECT TOP 1
CHAINE_VALIDATEUR_CAS1.VALIDATEUR_ID FROM
CHAINE_VALIDATEUR_CAS1"
S"WHERE AUTORISATION_GROUPE.AUTORISER = 1 "
S"AND AUTORISATION_GROUPE.GROUPE_ID = 2 "// id du groupe
S"AND CHAINE_VALIDATEUR_CAS1.ORDRE < 3 " // ICI ON PREND L'ORDRE DU
VALIDATEUR pour le validateur 3 c'est ordre 3
Mindiell
Messages postés558Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention 5 septembre 20071 28 févr. 2006 à 10:05
Bonjour,
Ca marche, non ? Que veux-tu que l'on valide ?
Fis un essai sur plusieurs possibilités, mais normalement, en construisant ta requête tu dois être sur de faire ce qu'il faut.
Je ferais ca moi :
SELECT MAX(VALIDATEUR_ID)
FROM CHAINE_VALIDATEUR_CAS1
WHERE AUTORISER = 1
AND GROUPE_ID = (id du groupe)
AND ORDRE < (ordre du validateur)