Jointure tous duos [Résolu]

Signaler
Messages postés
31
Date d'inscription
samedi 10 novembre 2012
Statut
Membre
Dernière intervention
8 novembre 2019
-
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

1 réponse

Messages postés
29560
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 septembre 2020
2 782
Bonjour
Intéresse toi au jointures
Messages postés
29560
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 septembre 2020
2 782 >
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.
Messages postés
29560
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 septembre 2020
2 782 >
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 ?
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 :)
Messages postés
29560
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 septembre 2020
2 782 >
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
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 !