Maison >base de données >tutoriel mysql >Comment trouver les identifiants de personne associés à tous les identifiants d'éléments dans MySQL ?

Comment trouver les identifiants de personne associés à tous les identifiants d'éléments dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-29 10:27:13682parcourir

How to Find Person IDs Associated with All Stuff IDs in MySQL?

Vérifier si une colonne contient toutes les valeurs d'une autre colonne dans MySQL

Problème :

Supposons que vous disposiez de deux tables, T1 et T2, avec des colonnes représentant les ID de personnes et les ID d'éléments. Comment pouvez-vous déterminer quels identifiants de personne sont associés à tous les identifiants d'éléments dans T2 ?

Solution :

Pour rechercher les identifiants de personne auxquels sont associés tous les identifiants d'éléments trouvés dans T2, suivez ces étapes :

  1. Utilisez une requête imbriquée pour sélectionner les identifiants de personne de T1 qui correspondent à n'importe quel identifiant d'élément dans T2 :
SELECT personID
FROM T1
WHERE stuffID IN (SELECT stuffID FROM t2)
  1. Regroupez les résultats par ID de personne et vérifiez quelles entrées contiennent tous les ID d'éléments dans T2 :
GROUP BY personID
HAVING COUNT(DISTINCT stuffID) = (SELECT COUNT(stuffID) FROM t2)
  1. Combinez ces requêtes pour obtenir le résultat final :
SELECT personID
FROM T1
WHERE stuffID IN (SELECT stuffID FROM t2)
GROUP BY personID
HAVING COUNT(DISTINCT stuffID) = (SELECT COUNT(stuffID) FROM t2)

Cette requête renverra les identifiants de personne qui ont tous les ID d'éléments associés spécifiés dans T2. Dans l'exemple fourni, le résultat serait l'ID de personne 1.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn