gpt4 book ai didi

mysql - 如何连接父行的所有子行的字段?

转载 作者:行者123 更新时间:2023-11-29 16:02:42 26 4
gpt4 key购买 nike

我正在构建一个将用于树 GUI 对象的查询。我有一个父表,它有一对多关系子表。为了为树对象创建可用路径,我需要做的就是连接父行的子行的所有名称。现在,通过我当前的查询,我得到了每个 child 的结果,但无论有多少个 child ,我都需要一个结果总数。

查询的问题在于行 CONCAT(listassets.name, ", ", listprojects.number) AS text。我知道这只会返回一个结果,因为我只有 listprojects.nubmer,但是如何才能获得每个列表项目编号?

目前,我得到了这样的东西

Assets 1,1234
Assets 1,5478
Assets 1,7893
其中 1234、5478、7893 是与该 Assets 关联的项目编号。我想要的是

Assets 1 1234.5478, 7893

这是我的完整查询。作为引用,层次结构是客户有位置,位置有区域,区域有 Assets , Assets 有项目。

SELECT 
CONCAT_WS('/', `listcustomers`.`name`, `listlocations`.`name`, `listareas`.`name`) AS `path`,
CONCAT_WS('/', `listcustomers`.`name`,`listlocations`.`name`, `listareas`.`name`, CONCAT(`listassets`.`name`, ", ", `listprojects`.`number`)) AS `fullPath`,
CONCAT(`listassets`.`name`, ", ", `listprojects`.`number`) AS `text`,
`listassets`.`active` AS `active`,
IF(`listassets`.`active`, 'tree/assetActive.png', 'tree/assetInactive.png') AS `icon`,
IF(`listassets`.`active`, 'tree/assetActive.png', 'tree/assetInactive.png') AS `selectedIcon`,
'color(255,255,255,255)' AS `background`,
'' AS `border`,
'' AS `tootltip`,
'' AS `selectedText`,
'' AS `selectedTooltip`,
'' AS `selectedBorder`,
'color(0,0,0,255)' AS `foreground`,
'color(250,214,138,255)' AS `selectedBackground`,
'color(0,0,0,255)' AS `selectedForeground`,
`listcustomers`.`idx` AS `customerId`,
`listlocations`.`idx` AS `locationId`,
`listareas`.`idx` AS `areaId`,
`listassets`.`idx` AS `assetId`,
NULL AS `projectId`,
NULL AS `projectNum`
FROM
`listassets`
JOIN `listareas` ON `listareas`.`idx` = `listassets`.`parentAreaId`
JOIN `listlocations` ON `listlocations`.`idx` = `listareas`.`parentLocationId`
JOIN `listcustomers` ON `listcustomers`.`idx` = `listlocations`.`parentCustomerId`
JOIN `listprojects` ON `listassets`.`idx` = `listprojects`.`parentAssetId`

我使用的是MySQL 5.6

最佳答案

我找到了答案,即使用 GROUP_CONCAT 并按 listassets.id 进行分组。

关于mysql - 如何连接父行的所有子行的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041079/

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