MySQL左连接以获取所有匹配项
学生可能不止一个家长,所以我如何才能用逗号分隔所有家长的手机号码和电子邮件MySQL左连接以获取所有匹配项,mysql,sql,Mysql,Sql,学生可能不止一个家长,所以我如何才能用逗号分隔所有家长的手机号码和电子邮件 SELECT Students.ID , Student_Name , Address , longitude , latitude , Image , MPOS_ID , Parent_EMail , Parent.Parent_Mobile FROM Students left join Parent on P
SELECT Students.ID
, Student_Name
, Address
, longitude
, latitude
, Image
, MPOS_ID
, Parent_EMail
, Parent.Parent_Mobile
FROM Students
left
join Parent
on Parent.Student_ID = Students.ID
WHERE Students.Status = 'Active'
AND Students.Deleted_At is null
您可以使用和
分组方式的组合来实现此结果
GROUP\u CONCAT
将连接指定列中的所有值,因此您需要根据学生ID进行分组,这样您就不会只获得每个家长的列表详细信息
SELECT Students.ID, Student_Name, Address, longitude, latitude,
Image, MPOS_ID,
GROUP_CONCAT(Parent_EMail SEPARATOR ', ') as parent_emails,
GROUP_CONCAT(Parent_Mobile SEPARATOR ', ') as parent_mobiles
FROM Students
LEFT JOIN Parent
ON Parent.Student_ID = Students.ID
WHERE Students.Status = 'Active'
AND Students.Deleted_At IS NULL
GROUP BY Students.ID;
您可以查看GROUP_CONCAT(),但如果是我,我会在应用程序代码中解决这部分问题。@MohamedGamgoum不,不会。@MohamedGamgoum请确保在代码段末尾添加分组依据。