Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL左连接以获取所有匹配项_Mysql_Sql - Fatal编程技术网

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请确保在代码段末尾添加
分组依据。