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

詹姆斯·皮特

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

我在每个容器中都有一个“容器”表(传递)和另一个“项目”表(文档)。

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

我当然可以查询我的容器表,而在“ 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中执行此操作?

提前感谢你的帮助。

戈登·利诺夫(Gordon Linoff)

最好的方法是使用以下命令在SQL中执行此操作group_concat

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;

我想你的意思left join不是right joinleft join将保持一切都在transmittal表与其他表中的所有比赛一起。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在php中连接mysql列值

来自分类Dev

Mysql左连接,条件在右表中

来自分类Dev

左连接MySQL的PHP的查询

来自分类Dev

如何在PHP中连接mysql中的两列

来自分类Dev

MySQL内部连接输出到php中的html表

来自分类Dev

在MYSQL SELECT中连接PHP变量

来自分类Dev

当连接的右表中无值时,MySQL需要显示0,并累加

来自分类Dev

MySQL / PHP连接

来自分类Dev

PHP / MySQL连接声明

来自分类Dev

php MySql连接错误

来自分类Dev

PHP MYSQL连接错误

来自分类Dev

php MySql连接错误

来自分类Dev

连接PHP到MySQL

来自分类Dev

FLASH,PHP,MySQL连接

来自分类Dev

PHP连接到MySQL

来自分类Dev

PHP 连接到 MySQL

来自分类Dev

连接到wampserver MySQL在PHP中有效,但在vb.NET中无效

来自分类Dev

连接到wampserver MySQL在PHP中有效,但在vb.NET中无效

来自分类Dev

mysql左连接/右连接3个表

来自分类Dev

在MySQL中连接表

来自分类Dev

Mysql 左连接,左表中没有重复的值,其中的最后一个值

来自分类Dev

左外连接,从左边查找所有在右表中没有出现的,mysql

来自分类Dev

在第二个左连接 MYSQL 中使用一个左连接表中的列

来自分类Dev

如何使用 BETWEEN DATE 条件在交叉/左连接 MYSQL 中显示空值或零值

来自分类Dev

as3,MySQL PHP连接

来自分类Dev

如何使PHP连接到MySQL?

来自分类Dev

PHP-多个MySQL连接

来自分类Dev

PHP 7.4和MySQL连接

来自分类Dev

用php mySQL连接android