mysql - 如何从非唯一联接附加多个值?
问题描述
我有 2 张桌子:
table1
name |age
------|----
Molly | 10
Jack | 13
Bob | 12
table2
name | classes
---------------
Molly | math
Molly | english
Jack | history
有没有办法获得以下输出:
Molly, math|english
Jack, history
当我使用 join 时,我最终会在不同的行上得到 Molly 的重复项。
SELECT a.names, a.age, b.classes
FROM tables1 as a
JOIN tables2 as b
ON a.names=b.names
Molly, 10, math
Molly, 10, english
Jack, 13, history
解决方案
group_concat
会成功的。你的桌子的一个例子是这里:
select table1.name, group_concat(table2.classes SEPARATOR '|') from
table1 inner join table2 on table1.name = table2.name
group by table1.name
推荐阅读
- airflow - 气流未从 DAG 获取“start_date”
- c# - 是否可以通过SqlDataReader 获取SQL 列的长度?
- django - Django 频道实时聊天保存发送的消息
- pyspark - 无法将 StringIndexer 作为列表传递给模型管道阶段
- azure-cli - az login 使用受密码保护的证书
- apache-kafka - 多个 StreamListeners 到同一个主题,Spring Cloud Stream 连接到 Kafka
- r - 如何将数据库表从磁盘数据库复制到 R 中的“内存”数据库?
- javascript - 带有离线地图的传单
- python - 使用 Pandas(或 numpy)比较两列并计算百分比差异
- subdirectory - 子目录中带有 Rmd 文件的预订预览