Php 如何在MySQL中合并重复的行?

Php 如何在MySQL中合并重复的行?,php,mysql,xml,Php,Mysql,Xml,我正在进行一个项目,每个组织都有障碍,每个组织可以包含一个或多个障碍,然后我需要生成一个XML文件,将每个障碍显示到组织中 但是执行此sql代码: SELECT organizations.*, barriers.barrierName AS bname, barriers.type AS btype, geographs.name AS geo, rpd.rpdname AS rpdn, rpd.meaning AS rpdmean FROM organizations left join

我正在进行一个项目,每个组织都有障碍,每个组织可以包含一个或多个障碍,然后我需要生成一个XML文件,将每个障碍显示到组织中

但是执行此sql代码:

SELECT organizations.*, barriers.barrierName AS bname, barriers.type AS btype, geographs.name AS geo, rpd.rpdname AS rpdn, rpd.meaning AS rpdmean FROM organizations 
left join orgbarriers on orgbarriers.idOrg = organizations.id 
left join barriers on orgbarriers.idBarrier = barriers.id 
left join orggeographs on organizations.id = orggeographs.idOrg 
left join geographs on geographs.id = orggeographs.idGeo
left join orgrpds on orgrpds.idOrg = organizations.id
left join rpd on rpd.id = orgrpds.idRPD
我得到重复的行,如下图所示:


使用关键字DISTINCT

SELECT DISTINCT rest of your query

在SQL中执行左联接时,将获得主表中具有多行的行的多个结果。如果仔细查看屏幕截图中的行,您会发现它们实际上有不同的屏障,因此它们不是重复的,而是同一组织屏障表中的单独行。@theark40谢谢!我该怎么做?我是confused@theark40因为当我从PHP生成一个XML文件时,Organization 2是重复的:因为您想从表格数据创建分层输出,所以应该这样看:亲爱的,我在查询中添加了DISTINCT,但这样只显示1行。我需要显示所有内容,但要在xml文件中排序。奇怪的是:您想要删除重复的行。DISTINCT就是这样做的。您是如何将其放在查询中的?