gpt4 book ai didi

mysql - 如何将具有相似列的两个表合并为一个表

转载 作者:行者123 更新时间:2023-11-29 06:36:41 33 4
gpt4 key购买 nike

我有 3 个表,A、B 和 C。

表A的样本数据

nid   tid
101 3
101 4
101 7
103 3
103 5
104 2
104 4
104 7

表B的示例数据

tid   name
2 ram
3 shyam
4 krishna
5 shiv
7 narad

我想要的是,在第三个表C中

id   nid   labels
1 101 shyam, krishna, narad
2 103 shyam, shiv
3 104 ram, krishna, narad

我知道如何用 PHP 做到这一点,但是有什么办法可以单独用 mysql 做到这一点吗?

两个表(A 和 B)都有数千条记录,目前没有任何唯一列。

我尝试了 GROUP_CONCAT,但无法构建所需的输出。

编辑 1 - 我忘了提到表 C 已经插入了 id 和 nid 列,而 labels 列是空的。因此,我需要帮助构建一些查询,该查询可以使用上述标签更新表 C 的所有记录。

谢谢。问候,

最佳答案

这将在 TableC 上插入记录。由于 ID 是一个自动生成的列,您可以在 INSERT 子句中省略它。

INSERT INTO TableC(Nid, Labels)
SELECT a.nid, GROUP_CONCAT(b.Name) Labels
FROM TableA a
INNER JOIN TableB b
ON a.tid = b.tid
GROUP BY a.nid

关于mysql - 如何将具有相似列的两个表合并为一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24185884/

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