gpt4 book ai didi

mysql - SQL 将多个值放入一列中,以逗号分隔

转载 作者:行者123 更新时间:2023-11-29 06:43:45 25 4
gpt4 key购买 nike

需要有关此 SQL 查询的一些帮助。节点是一个产品表,每个产品在表 field_data_field_images 上有 n 个图像。我需要将所有这些图像文件名选择到以逗号分隔的一列中(例如“image1.jpg、image2.jpg”等)。因此,首先我需要从 field_data_field_images 获取所有图像 ID,然后从 file_management 获取文件名本身。

SELECT node.*,
file_managed.filename,
field_data_field_product_code.field_product_code_value,
FROM node

LEFT JOIN field_data_field_images ON node.nid = field_data_field_images.entity_id
LEFT JOIN file_managed ON field_data_field_images.field_images_fid = file_managed.fid

WHERE node.language = 'lt' AND node.type = 'products'
GROUP BY nid

最佳答案

您可以使用group_concat()。以下查询还引入了表别名,因此查询更易于编写和阅读:

SELECT n.*,
GROUP_CONCAT(fm.filename) as filenames
FROM node n LEFT JOIN
field_data_field_images dfi
ON n.nid = dfi.entity_id LEFT JOIN
file_managed fm
ON dfi.field_images_fid = fm.fid
WHERE n.language = 'lt' AND n.type = 'products'
GROUP BY n.nid

关于mysql - SQL 将多个值放入一列中,以逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50408622/

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