Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Auswählen von Zeilen aus einer Tabelle, die denselben Wert für ein Feld haben

Sie müssen Schüler gegen sich selbst verbinden:

SELECT s1.initials, s1.lastName
FROM Student s1, Student s2
WHERE s1.studentId <> s2.studentID /* Every student has the same tutor as himself */
AND s1.tutorId = s2.tutorid

Wenn Sie die Paare ausgeben möchten:

SELECT s1.initials, s1.lastName, s2.initials, s2.lastName
FROM Student s1, Student s2
WHERE s1.studentId <> s2.studentID /* Every student has the same tutor as himself */
AND s1.tutorId = s2.tutorid

So erhalten Sie eine Liste der Tutoren – Schüler:

SELECT tutorId, GROUP_CONCAT( initials, lastName SEPARATOR ', ') 
FROM `Student` 
GROUP BY tutorId
/* to only show tutors that have more than 1 student: */
/* HAVING COUNT(studentid) > 1 */