sql - SQL 更新表与连接另一个表的所有相应数据?
问题描述
运行 PostgreSQL 12.4。我正在尝试完成此操作,但那里给出的语法似乎不适用于 psql,而且我找不到另一种方法。
我有以下数据:
Table 1
ID Trait
1 X
1 Y
1 Z
2 A
2 B
Table 2
ID Traits, Listed
1
2
3
4
我想创建以下结果:
Table 2
ID Traits, Listed
1 X + Y + Z
2 A + B
连接 with+
是理想的,因为某些特征具有固有的逗号。
感谢您的任何帮助!
解决方案
尝试类似:
update table2
SET traits = agg.t
FROM
(select id,string_agg(trait, ',') t from table1 group by id) agg
where
table2.id = agg.id;
与 + 连接将是理想的,因为某些特征具有固有的逗号。
您可以使用您喜欢的任何分隔符(只需将第二个参数更改为string_agg
)。
推荐阅读
- excel - Excel公式:左和函数右
- python - 在 python 中进行网页抓取以获取知识
- javascript - 如何使用可以单击的ngFor在对象数组中具有函数
- django - Django:在测试中检查响应的内容类型
- python - 如何根据单词中的频率对字母进行排序?
- django - 通过 .extra() 过滤 Django 对象 选择 lat 和 lng 半径
- java - 将 ArrayList 中的信息从一个类传递到 WindowsBuilder GUI 类
- html - 在 WordPress 中,如何设置文本限制或在达到一定长度时打破文本
- c# - 无法将数据保存在 SQL Server 数据库中,该文件放在哪里?
- r - R ggplot2,在图的底部(外部)显示主题的数量