gpt4 book ai didi

PHP/MYSQL - 仅显示表中的左连接项,但连接列中的右连接值

转载 作者:行者123 更新时间:2023-11-29 13:18:57 25 4
gpt4 key购买 nike

现在我应该简要解释一下我想做什么。

每个容器内有一个“容器”表(传输)和另一个“项目”表(文档)。

我想输出一个列出所有容器的表,每行末尾有一列,其中包含容器中项目的逗号空格列表。目的是实现对每个容器中的项目的简单搜索(使用数据表插件)。

我当然可以查询我的容器表,并且在“PHP while 循环”期间我可以二次查询项目表中匹配的容器 ID。然后我连接每行的项目,但我想避免多次 SQL 调用。

所以我创建了一个右连接(我在下面编写了一个简化版本)...

SELECT transmittal.*, transmittal_documents.*
FROM transmittal RIGHT JOIN
transmittal_documents
ON transmittal_documents.transmittal_id = transmittal.transmittal_id

对 PHP while 循环进行编码以仅收集表中唯一的“容器”值,同时使用 PHP join 之类的方法连接“项目”的最佳方法是什么。

或者,也许我可以在用 PHP 处理之前用 SQL 执行此操作?

预先感谢您的帮助。

最佳答案

最好的方法是使用 group_concat 在 SQL 中执行此操作:

SELECT t.*, group_concat(td.item) as items
FROM transmittal t LEFT JOIN
transmittal_documents td
ON td.transmittal_id = t.transmittal_id
GROUP BY td.transmittal_id;

我认为你的意思是左连接而不是右连接左连接将保留transmittal表中的所有内容以及另一个表中的所有匹配项。

关于PHP/MYSQL - 仅显示表中的左连接项,但连接列中的右连接值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21114138/

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