我有这个应用程序,我需要进行查询并有两列。这是我的两列和各自的行:
Name of table1: Machines(has a row called Machinesnames and a id_group as FK)
Name of table2: Groups (has a row called groupsnames and id_groups as PK)
问题是,根据您在下面看到的查询,我得到以下结果
**GroupsNames** | **MachinesNames**
1 machine1
1 | machine2
1 | machine3
2 | machine4
我已经这样做了,但我认为你错了我的查询是错的吗?:
SELECT groups.name,Machines. Machinesnames,Groups.groupsnames FROM Machines INNER JOIN Groups ON Machines.id_group = Groups.id_group
这是我想看到的结果
**GroupsNames** | **MachinesNames**
1 machine1,machine2,machine3
2 | machine4
答案 0 :(得分:1)
您正在寻找group_concat
:
select g.name,
group_concat(m.Machinesnames)
from Machines m
inner join Groups g on m.id_group = g.id_group
group by g.name;
答案 1 :(得分:1)
您的查询对于内部联接是正确的,但是通过查看您的预期输出,您需要一个聚合列表。
使用GROUP_CONCAT()
尝试MySQL的答案