我有 2 个表,一个列出属性(房屋、公寓等),另一个表保存图像文件名和链接到相关属性的 ID。
现在,我需要将它们连接在一起,但以某种方式连接起来,以便我只获得一次返回的属性信息,然后获得链接的 X 条图像记录。
我使用 LEFT JOIN 取得了一些成功,因为我可以选择记录,但它返回属性的重复信息,例如链接到 3 个图像的 1 个属性将从 LEFT JOIN 查询返回 3 个结果,因此在我的输出页面上打印详细信息 3 次。
接下来的部分是如何打印属性详细信息(现在应该是单数)和多个图像信息?
希望能帮到你!
最佳答案
您可以使用 group_concat 函数来获取文件名列表。默认情况下,这仅允许您在生成的 group_concat 字段中包含 1k 数据。
select prop.*, group_concat(filenames) as files
from properties prop
join images on prop.id = images.prop_id
where prop.owner_id = 'something'
group by prop.id
如果您需要该字段中的更多数据,可以调整 group_concat_max_len 属性。
然后在 PHP 中,您将查看结果查询,并且可以分解每个文件列,并循环结果数组以显示图像。
关于php - 将多个条目连接到单个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800732/