我有2张桌子(简化如下)
**classes** **locations**
[classname][locationid][time] [id][locationname][address]
classA 1 1pm 1 locationA 123
classB 2 2pm 2 locationB 456
classC 2 3pm
classD 1 2pm
我不知道怎么说这个...我想创建一个SELECT语句,这样我就可以按位置将所有类组合在一起,而不会复制位置数据。如果我使用:
SELECT * FROM classes
INNER JOIN locations ON classes.locationid = locations.id
我最终获得了4行的结果。如何获得2行结果? (ex locationA包含classA和classD,没有获取重复的位置数据)
这是直接MySQL无法完成的吗?如果是这样,我可以在php中管理。
答案 0 :(得分:1)
SELECT l.locationname, group_concat(distinct c.classname)
FROM locations l
INNER JOIN classes c ON c.locationid = l.id
group by l.locations