Bonjour
@ tous
J'ai une information a extraire d'une base qui à la structure suivante:
Je veux etraire la valeur maximale de droit de la table droit où l'id_user = un id précis ou alors où l'id_group correspond à un id_user dan sla table user group.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 user ________________________ | id |login | password | mail | group ___________ | id | descr | usergroup (Appartenance d'un user à un groupe) __________________ | id | iduser| idgroup | droit ___________________________ | id | droit | id_user | id_group |
Voila les deux sous requetes, je n'arrive pas à joindre (fusionner) les deux résultats pour en extraire ensuite la plus grande valeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // extraction du droit de l'utilistateur d'id $id SELECT droit AS DROIT2 FROM droits WHERE (id_user=$id AND id_module= (SELECT id FROM module WHERE url='calendrier.php') )Donc ce que je veux faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT droit AS DROIT3 FROM droits WHERE (id_group=(select id FROM usergroup WHERE iduser=$id)) AND ( id_module=(SELECT id FROM module WHERE url='calendrier.php'))
ecrire une grande requète qui sélectionne le max de droit parmi DROIT2 (1 valeur au plus) et DROIT3 (plus d'une valeur)
J'ai tenté une union entre DROIT2 et DROIT3 qui ne fonctionne pas car COUNT(DROIT2) est différent de COUNT(DROIT3)
Merci d'avance
Partager