Jointure tous duos [Résolu]

Messages postés
31
Date d'inscription
samedi 10 novembre 2012
Statut
Membre
Dernière intervention
8 novembre 2019
-
Bonjour,

Je dispose de 3 tables sur ma base mysql

apps:
- id
- nom
- ...

users :
- id
- nom
- ...

autorisations :
- id
- id_app
- id_user

Comme vous l'avez sûrement deviné, une liste les utilisateurs, une liste les applications disponibles, une autre liste les autorisations d'accès (s'il existe un duo id_app/id_user, l'utilisateur a l'autorisation, sinon il ne l'a pas).

Mon but final est de créer une vue qui, pour chaque duo application/utilisateur, calcule un champ via un exists sur la table autorisations.

Malheureusement, je n'arrive pas à trouver une requête qui permet de créer cette vue id_app, id_user listant tous les duos possibles, sauriez-vous comment faire svp ? (créer la vue list_app_user ci-dessous):

SELECT
lap.id_user,
lap.id_app,
IF(EXISTS(SELECT * FROM autorisations a WHERE a.id_app = lap.id_app AND a.id_user = lap.id_user), 1, 0) as autor 
FROM list_app_user lap


J'utilise MySQL v5.6.

Merci d'avance !

Configuration: Windows / Chrome 77.0.3865.120
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
26720
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2019
1869
1
Merci
Bonjour
Intéresse toi au jointures

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 71139 internautes nous ont dit merci ce mois-ci

jordane45
Messages postés
26720
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2019
1869 > Switchd4
Messages postés
31
Date d'inscription
samedi 10 novembre 2012
Statut
Membre
Dernière intervention
8 novembre 2019
-
On va faire plus simple...
Tu veux obtenir quoi exactement ?
Un exemple de données dans chaque table et ke resultat souhaite pourrait aider.
jordane45
Messages postés
26720
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2019
1869 > Switchd4
Messages postés
31
Date d'inscription
samedi 10 novembre 2012
Statut
Membre
Dernière intervention
8 novembre 2019
-

Néanmoins, cette requête n'affiche que les entrées pour lesquelles il y a un duo id_app/id_user dans la table AUT

et en même temps.. c'est ce que tu nous as demandé..

Mon but final est de créer une vue qui, pour chaque duo application/utilisateur, calcule un champ via un exists sur la table autorisations.

A moins que j'ai mal compris ?
Switchd4
Messages postés
31
Date d'inscription
samedi 10 novembre 2012
Statut
Membre
Dernière intervention
8 novembre 2019
-
En effet je me suis mal exprimé...

Je cherche à réunir en une seule et même query l'ensemble des duos possibles id_app/id_user, pour ensuiter tester l'existence de chacun des duos dans la table aut, et retourner TRUE ou FALSE dans la query si le duo est trouvé.

Un exemple pour mieux comprendre :


Merci pour ton aide :)
jordane45
Messages postés
26720
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 novembre 2019
1869 > Switchd4
Messages postés
31
Date d'inscription
samedi 10 novembre 2012
Statut
Membre
Dernière intervention
8 novembre 2019
-
Regarde ce que fait
cross join
Switchd4
Messages postés
31
Date d'inscription
samedi 10 novembre 2012
Statut
Membre
Dernière intervention
8 novembre 2019
-
Bonjour Jordane,

Je ne connaissais pas la jointure cross join, et c'est exactement ce qu'il me fallait !! Merci et bonne journée !
Commenter la réponse de jordane45