postgresql - postgres sql:获取统一的行
问题描述
我有一张表,我在其中转储来自不同来源(x、y、z)的所有记录,如下所示
+----+------+--------+
| id | source |
+----+--------+
| 1 | x |
| 2 | y |
| 3 | x |
| 4 | x |
| 5 | y |
| 6 | z |
| 7 | z |
| 8 | x |
| 9 | z |
| 10 | z |
+----+--------+
然后我有一个映射表,我根据我的用例在源之间映射值,如下所示
+----+-----------+
| id | mapped_id |
+----+-----------+
| 1 | 2 |
| 1 | 9 |
| 3 | 7 |
| 4 | 10 |
| 5 | 1 |
+----+-----------+
我想要合并的结果,我只能看到独特的结果,例如
+-----+------------+
| id | mapped_ids |
+-----+------------+
| 1 | 2,9,5 |
| 3 | 7 |
| 4 | 10 |
| 6 | null |
| 8 | null |
+-----+------------+
我正在尝试不同的选择,但无法弄清楚,有没有办法我可以编写连接来做到这一点。我必须使用存储关联的映射表,并识别唯一记录以及未在任何地方映射的记录。
解决方案
尝试这样的事情:
SELECT id, name, ARRAY_AGG(mapped_id) AS mapped_ids
FROM table1 AS t1
LEFT JOIN table2 AS t2 USING (id)
GROUP BY id, name
推荐阅读
- tensorflow - 如何使用 tf.contrib mnist_data_provider?
- c# - 有没有办法告诉方法它应该返回什么值类型?
- c# - ASP.NET Core 中的集成依赖注入可以扫描模块的依赖关系吗?
- arrays - 拆分词再封装,再拆分字符再封装
- crystal-lang - 通过Hash的自动化构造寻求动态方法调度
- php - 在 PHP 中使用 str_word_count 将数字计数为单独的单词
- asp.net - 查询字符串以使用 asp.net 中的全局变量显示表中的数据
- c++ - 使用构造函数的初始化列表中的结构向量初始化类的结构
- sql - 布尔类型 - oracle
- sql - 查询 has_many 关系的特定记录