[SQL] Aide pour une requete SQL

Fermé
antjac Messages postés 6 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 12 décembre 2007 - 12 déc. 2007 à 13:21
 Catwowan - 31 déc. 2008 à 18:15
Bonjour,

J'ai un problème pour une requete que je n'arrive absolument pas à écrire.
Il s'agit en fait d'une requete de vérification de mot de passe et de droits.

Si le login et le mot de passe est bon et si le usr_adm_flg est égal à 2 il passe
sinon si le login et le mot de passe est bon, que le usr_adm_flg est égal à 1 et que l'utilisateur rentré est bien responsable de la filière il passe.

J'ai donc 2 tables :
Une table utilisateur :
usr_id usr_lgn usr_pass usr_form_flg usr_adm_flg
1 test test 1 1
2 guillaum guilaum 0 0
3 antoine antoine 1 2
4 Fatih fatih 0 1

Une table droits :
droits_id droits_user droits_fil
1 1 1
2 4 2
Le résultat de la requete doit renvoyer 1 si la connexion est valide, 0 sinon
Mon but est que après avoir entré le mot de passe et le login ainsi que le nom de la filière à éditer (mais je renvoi le numéro) je puisse faire cette vérification. Comment faire ?


J'avais tenté ça :
SELECT count( usr_id ) AS verifexist
FROM utilisateurs, droits
WHERE usr_lgn = 'antoine'
AND usr_pass = 'antoine'
AND (
usr_adm_flg =2
OR (
usr_adm_flg =1
AND droits_user = (
SELECT usr_id
FROM utilisateurs
WHERE usr_lgn = 'antoine' )
AND droits_fil =1
)
)
AND droits.droits_user = utilisateurs.usr_id


mais ça ne marche pas, la requete renvoi invariablement 0
Merci
A voir également:

4 réponses

phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 178
12 déc. 2007 à 17:22
select usr_adm_flg from (
select usr_lgn, usr_pass, usr_adm_flg from #user u left join #droit d on u.usr_id = d.droits_user) x
where usr_lgn = 'test' and usr_pass = 'test'
1
antjac Messages postés 6 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 12 décembre 2007 1
12 déc. 2007 à 17:49
Merci mais dans ta réponse tu ne testes pas si dans le cas ou usr_adm_flg=1 la personn est bien reliée dans droits pour un droit_fil donné
1
phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 178
12 déc. 2007 à 17:56
where usr_lgn = 'test' and usr_pass = 'test' and droits_fil = '1'

pas trop difficile quand-même
1
Y en a qu'on vraiment la feignancité de se servir de leurs neurones.
0