【发布时间】:2015-04-13 00:45:13
【问题描述】:
我正在做一个项目,每个组织都有障碍,每个组织可以包含一个或多个障碍,然后我需要生成一个 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
我得到像这张图片一样的重复行:
【问题讨论】:
-
当您在 SQL 中进行左连接时,您将在主表中的行中获得多个结果,这些行在连接表中有多个行。如果您仔细查看屏幕截图中的行,您会发现它们实际上具有不同的障碍,因此它们不是重复的,而是同一组织的障碍表中的不同行。
-
@theark40 谢谢!我该怎么做?我很困惑
-
@theark40 因为当我从 PHP 生成 XML 文件时,组织 2 被复制 :(
-
由于您想从表格数据创建分层输出,您应该查看如下内容:stackoverflow.com/questions/29464314/…