gpt4 book ai didi

MySQL在主表上创建具有连接行的字段

转载 作者:行者123 更新时间:2023-11-29 10:22:06 26 4
gpt4 key购买 nike

输入两个表,TABLE ATABLE B

 TABLE A       TABLE B
A_ID | A A_ID | B
1 | a 1 | b
2 | a1 1 | b1
3 | a2 2 | b2

预期输出表C

 TABLE C
A_ID | A | C
1 | a | b,b1 <--- Concat all rows in TABLE B with ','
2 | a1 | b2
3 | a2 | NULL <--- NULL if no matched A_ID in TABLE B

C 列查找所有匹配的 A_ID 并将 B 的所有行连接到新的 TEXT 字段中。只能通过 MySQL 查询来完成吗?

最佳答案

insert into TABLE_C 
SELECT
A1.A_ID,
A1.A,
GROUP_CONCAT(B1.B) as 'C'
FROM `TABLE_A` A1
LEFT JOIN `TABLE_B` B1
ON A1.A_ID=B1.A_ID
GROUP BY A1.A_ID;

上面 sql 上的左连接有助于从两个表“TABLE_A”和“TABLE_B”中获取公共(public)匹配(相关)行,按 id 分组有助于获取不匹配的行(不与每个表相关) other 返回 2,a1 和 3,null 的结果集。 group_concat 绑定(bind)两列,默认情况下以逗号分隔。如果我们想要一些其他分隔符,那么我们只需要使用带有分隔符语句的 group_concat 。并且插入选择有助于将结果行插入到新表“TABLE_C”中,这当然需要事先创建

关于MySQL在主表上创建具有连接行的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49080625/

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