Mysql SQL-MariaDB连接问题

Mysql SQL-MariaDB连接问题,mysql,Mysql,大家好,我正在做一些简单的查询(我是一个noob),我想我应该在这里停下来,得到一些有教育意义的建议。我发布了一个链接,指向我为父母和队员制作的两张表格 我正在尝试编写一个查询,返回双亲都注册到系统中的学生。因此,它应该显示学生和父母双方以及。我可以获得每个玩家和家长的内部连接,但似乎无法将其归结为每个学生的家长>1或=2 我试过使用DISTINCE子句,但也无法使其起作用。任何帮助都会很好谢谢你 使用GROUP_CONCAT()在结果中获取双亲。您需要按pl_id分组为每个玩家获得一行 SEL

大家好,我正在做一些简单的查询(我是一个noob),我想我应该在这里停下来,得到一些有教育意义的建议。我发布了一个链接,指向我为父母和队员制作的两张表格

我正在尝试编写一个查询,返回双亲都注册到系统中的学生。因此,它应该显示学生和父母双方以及。我可以获得每个玩家和家长的内部连接,但似乎无法将其归结为每个学生的家长>1或=2

我试过使用DISTINCE子句,但也无法使其起作用。任何帮助都会很好谢谢你

使用
GROUP_CONCAT()
在结果中获取双亲。您需要
按pl_id分组
为每个玩家获得一行

SELECT pl.pl_fname, pl.pl_lname, pl.pl_id,
    GROUP_CONCAT(pa.pa_fname, ' ', pa.pa_lname, ', ', pa.pa_id, ' ', pa.pa_address SEPARATOR '; ') AS parents
FROM Player AS pl
JOIN Parent AS pa ON pl.pl_lname = pa.pl_lname
GROUP BY pl.pl_id
HAVING COUNT(*) > 1
或者,如果希望每个父级都位于单独的行中,请使用统计父级数量的查询进行连接

SELECT pl.pl_fname, pl.pl_lname, pl.pl_id, pa.pa_fname, pa.pa_lname, pa.pa_id, pa.pa_address 
FROM Player AS pl
JOIN Parent AS pa ON pl.pl_lname = pa.pl_lname
JOIN (SELECT pa_lname FROM parent GROUP BY pa_lname HAVING COUNT(*) > 1) AS pa1
    ON pl.pl_lname = pa1.pa_lname