gpt4 book ai didi

mysql - 有可能从另一个表中获取单元格中的数组导致mysql

转载 作者:行者123 更新时间:2023-11-29 02:48:39 25 4
gpt4 key购买 nike

我有两个表,我从两个表中都得到了结果这是表格

        Table1      
+-------------------+
| APH | ID |
+-------------------+
| A | ID01 |
| B | ID02 |
| C | ID03 |
| D | ID04 |
+-------------------+

Table2
+-------------------+
| ID | Value |
+-------------------+
| ID01 | 10 |
| ID01 | 15 |
| ID01 | 20 |
| ID01 | 25 |
| ID02 | 6 |
| ID02 | 18 |
| ID02 | 30 |
| ID02 | 42 |
| ID02 | 54 |
| ID03 | 7 |
| ID03 | 15 |
| ID03 | 23 |
| ID03 | 31 |
+-------------------+

例如:-

我必须从 ID = ID01 的表中获取所有值

那么有没有可能得到这样的结果呢?

        Result      
+-----------------------------------+
| APH | ID | Value |
+-----------------------------------+
| A | ID01 |[10,15,20,25] |
+-----------------------------------+


对于所有结果

        Result      
+-----------------------------------+
| APH | ID0 | Value |
+-----------------------------------+
| A | ID01 |[10,15,20,25] |
| B | ID02 |[6,18,30,42,54]|
| C | ID03 |[7,15,23,31] |
| D | ID04 | |
+-----------------------------------+

最佳答案

你需要使用GROUP_CONCAT

MySQL GROUP_CONCAT() function returns a string with concatenated non-NULL value from a group.

Returns NULL when there are no non-NULL values.

SELECT 
APH,
ID,
CONCAT('[',GROUP_CONCAT(T2.`value`),']') AS output
FROM Table1 AS T1
INNER JOIN Table2 AS T2
ON T1.ID = T2.ID
WHERE T1.ID ='ID01'

编辑:

如果您只需要逗号分隔的列表,请保留 CONCAT 部分。

SELECT 
APH,
ID,
GROUP_CONCAT(T2.`value`) AS output
FROM Table1 AS T1
INNER JOIN Table2 AS T2
ON T1.ID = T2.ID
WHERE T1.ID ='ID01'

编辑 2:

SELECT 
APH,
ID,
GROUP_CONCAT(T2.`value`) AS output
FROM Table1 AS T1
INNER JOIN Table2 AS T2
ON T1.ID = T2.ID
GROUP BY T1.ID;

关于mysql - 有可能从另一个表中获取单元格中的数组导致mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38765460/

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