Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mencari ID Orang yang dikaitkan dengan Semua ID Barang dalam MySQL?

Bagaimana untuk mencari ID Orang yang dikaitkan dengan Semua ID Barang dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 10:27:13722semak imbas

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

Semak sama ada Lajur Mengandungi Semua Nilai Lajur Lain dalam MySQL

Masalah:

Katakan anda mempunyai dua jadual, T1 dan T2, dengan lajur mewakili ID orang dan ID bahan. Bagaimanakah anda boleh menentukan ID orang yang dikaitkan dengan semua ID bahan dalam T2?

Penyelesaian:

Untuk mencari ID orang yang mempunyai semua ID bahan yang berkaitan ditemui dalam T2, ikut langkah berikut:

  1. Gunakan pertanyaan bersarang untuk memilih ID orang daripada T1 yang sepadan dengan mana-mana ID bahan dalam T2:
SELECT personID
FROM T1
WHERE stuffID IN (SELECT stuffID FROM t2)
  1. Kumpulkan hasil mengikut ID orang dan semak entri yang mengandungi semua ID bahan dalam T2:
GROUP BY personID
HAVING COUNT(DISTINCT stuffID) = (SELECT COUNT(stuffID) FROM t2)
  1. Gabungkan pertanyaan ini untuk mendapatkan hasil akhir:
SELECT personID
FROM T1
WHERE stuffID IN (SELECT stuffID FROM t2)
GROUP BY personID
HAVING COUNT(DISTINCT stuffID) = (SELECT COUNT(stuffID) FROM t2)

Pertanyaan ini akan mengembalikan ID orang yang mempunyai semua ID bahan berkaitan yang dinyatakan dalam T2. Dalam contoh yang diberikan, hasilnya ialah ID orang 1.

Atas ialah kandungan terperinci Bagaimana untuk mencari ID Orang yang dikaitkan dengan Semua ID Barang dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn