recherche

Maison  >  Questions et réponses  >  le corps du texte

Jointure gauche SQL utilisant la clause Where pour filtrer les champs vides

<p>J'ai deux tables, l'une est la table des utilisateurs et l'autre est la table des jetons. Je souhaite rejoindre ces deux tables pour voir quels utilisateurs ont vérifié leurs jetons et lesquels ne l'ont pas fait. Il existe une clé étrangère dans la table des jetons qui contient l'ID utilisateur. </p> <p>Maintenant, j'utilise une jointure gauche pour joindre les ID utilisateur et j'essaie de vérifier s'il n'y a pas de validation. L'instruction de requête est la suivante : </p> <pre class="brush:php;toolbar:false;">SELECT nom, vérifié FROM utilisateurs LEFT JOIN jetons SUR utilisateurs.ID = jetons.UID OÙ vérifié = faux</pre> <p>Supposons que j'ai les deux tableaux suivants :</p> <pre class="brush:php;toolbar:false;">ID Nom | 0 | 1 | 2 | 3 | John&Lt ;/pré> ; <p>Ensuite, le tableau des jetons est le suivant : </p> <pre class="brush:php;toolbar:false;">ID | 0 | 1 | 0 1 | 2 | 0 2 | 3 | 1≪/pré> <p>Comme vous pouvez le constater, Joe n’a aucun enregistrement dans la deuxième table. Je veux joindre ces deux tables et même si Joe n'a aucun enregistrement dans la deuxième table, je veux qu'il soit traité comme faux/nul. Lorsque j'exécute la requête pour rechercher des utilisateurs non authentifiés, seules 2 entrées de données sont renvoyées. </p> <pre class="brush:php;toolbar:false;">Nom Vérifié | Sally | 0 Dave | 0≪/pré> <p>Si je supprime la clause Where, le résultat sera le suivant : </p> <pre class="brush:php;toolbar:false;">Nom Vérifié | Sally | 0 Dave | 0 Jean | 1 Joe | NULL</pré> <p>Comme vous pouvez le voir, Joe a une valeur nulle en bas, mais je souhaite qu'elle soit traitée comme non validée. Comment dois-je écrire une requête pour obtenir les données suivantes : </p> <pre class="brush:php;toolbar:false;">Nom Vérifié | Sally | 0 Dave | 0 Joe | NULL</pré> <p>Ou simplement l'instruction de requête suivante, le résultat est 3. Le résultat actuel de la requête est 2. </p> <pre class="brush:php;toolbar:false;">SELECT nombre(*) FROM utilisateurs LEFT JOIN jetons SUR utilisateurs.ID = jetons.UID OÙ vérifié = faux</pre> <p><br /></p>
P粉511985082P粉511985082510 Il y a quelques jours574

répondre à tous(1)je répondrai

  • P粉322106755

    P粉3221067552023-08-14 13:23:45

    WHERE verified = false 或 verified is null

    répondre
    0
  • Annulerrépondre