gpt4 book ai didi

php - 只显示一次数据

转载 作者:行者123 更新时间:2023-11-29 04:52:09 26 4
gpt4 key购买 nike

我为日托中心的 parent 创建了一个联系人列表。现在我想在网页上显示它。到目前为止,它在技术上运行完美,但它是我不满意的布局。

简要说明我的数据库是如何工作的:每个 parent 可以有一个或多个 child ,每个 child 可以有一个或多个 parent - 多对多关系。我将其分解为三个表 - parents、children 和 parent_children,以便建立一对多关系。然后我使用了 JOIN 并且一切都显示得很好。但是,由于它显示每个实体,因此在网页上显示它会变得相当困惑。我将用一个例子来解释:

家庭 1:马克和爱丽丝威尔逊有两个 child ,约翰和比尔。
家庭 2:彼得和杰西卡罗伯逊有一个 child ,丽莎。

Current layout:
Parent Child
-------------------------------
Mark Wilson John Wilson
Mark Wilson Bill Wilson
Alice Wilson John Wilson
Alice Wilson Bill Wilson

Peter Robertson Lisa Robertson
Jessica Robertson Lisa Robertson
-------------------------------

Desired layout:
Parent Child
-------------------------------
Mark Wilson John Wilson
Alice Wilson Bill Wilson

Peter Robertson Lisa Robertson
Jessica Robertson
-------------------------------

有什么好的方法可以得到想要的布局吗?


好的,现在我已经走到了让这个在一个列中工作的地步,这取决于我如何使用 GROUP_CONCAT:

代码:

SELECT GROUP_CONCAT(parents.name) AS Parents, children.name
FROM parents p
LEFT JOIN parents_children pc USING(id_parent)
LEFT JOIN children c USING(id_child)
GROUP BY pc.id_parent;

结果:

Parents                             Children
-----------------------------------------------
Mark Wilson, Alice Wilson Bill Wilson
Mark Wilson, Alice Wilson John Wilson
Peter Robertson, Jessica Robertson Lisa Robertson

同样,如果我改为 GROUP_CONCAT children.name 和 GROUP BY pc.id_child,我会得到:

Parents                Children
------------------------------------------
Mark Wilson Bill Wilson, John Wilson
Alice Wilson Bill Wilson, John Wilson
Peter Robertson Lisa Robertson
Jessica Robertson Lisa Robertson

我真的想要这些的组合,结果如下:

Parents                                Children
----------------------------------------------------
Mark Wilson, Alice Wilson Bill Wilson, John Wilson
Peter Robertson, Jessica Robertson Lisa Robertson

最佳答案

SELECT DISTINCT 应​​将它们限制为父表中每个实体的一个实例。

关于php - 只显示一次数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10624705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com