Besoin de solution pour une requête SQL complexe

J'ai deux tables d'un système de vote avec lequel je travaille.

entrez la description de l'image ici Le premier est appelé les membres du comité

entrez la description de l'image ici Et le second est appelé Approbation du Comité

Approbation du comité stocke les détails du vote qui ont été entrés par différents users. Voici un extrait de ce qu'il tiendra

entrez la description de l'image ici

La colonne de key étrangère CommitteeApprovalStatusID représente la valeur de vote . Sa table ressemble à

entrez la description de l'image ici

Colonne de key étrangère CommitteeRoleID dans le tableau des membres du comité représente un titre donné aux users dans ce comité Eg concierge, président, membre.

entrez la description de l'image ici

Je veux écrire une requête qui répertorie tous les users , ce qu'ils ont voté et qui n'a pas voté en fonction d'une application de licence particulière . Par exemple, pour une application de licence particulière 10342 le format serait comme

ID user | Rôle | Statut | Ce qu'il a voté |

Des exemples de déclarations que j'ai essayé était

SELECT * FROM CommitteeMembers LEFT OUTER JOIN ComitéApprobation ON CommitteeMembers.UserID = CommitteeApproval.UserID WHERE CommitteeApproval.LicenceApplicationID = 10682

Mais cela n'apporte que des valeurs nulles dans les colonnes de la table CommitteeApproval

J'ai essayé plusieurs déclarations mais aucune n'a fonctionné jusqu'ici. Quelqu'un sait une solution efficace pour y parvenir?

Vous pouvez OUTER JOIN et évaluer pour la présence de l'logging … si le dossier n'est même pas là, cela signifie que le membre n'a pas voté. Le rôle et MemberStatus doivent être joints à l'intérieur car ils existeront toujours pour chaque membre.

SELECT committeeMembers.UserID, committeeMemberStatus.committeeMemberStatus AS [MemberStatus], committeeRoles.CommitteeRoleName AS [Role], Case When committeeApproval.CommitteeApprovalStatusID IS NULL Then 'No Vote' Else committeeApprovalStatuses.CommitteeApprovalStatusName End AS [ApprovalStatus], FROM CommitteeMembers committeeMembers INNER JOIN CommitteeMemberStatus committeeMemberStatus ON committeeMemberStatus.CommitteeMemberStatusID = committeeMembers.CommitteeMemberStatusID INNER JOIN CommitteeRoles committeeRoles ON committeeRoles.CommitteeRoleID = committeeMembers.CommitteeRoleID LEFT OUTER JOIN CommitteeApproval committeeApproval ON committeeApproval.UserID = committeeMembers.UserID