【发布时间】:2020-09-16 20:43:56
【问题描述】:
我有一张如下表:
col1, col2, col3
a, l1, v1
a, l2, v2
b, l2, v3
c, l3, v4
我需要 col1 和 col3 的结果如下:
col1, col3
a, v1
a, v2
a, v3
b, v2
b, v3
c, v4
意思是让我(col1 = a 的所有 col3 值)+(属于 col1 = a 的 col2 的 col3 值)
转换为 (v1,v2) + (v3) = v1,v2,v3 的 a。
我正在使用 PostgresDB 来运行它。我尝试了很多方法,但不确定如何有效地获得正确的结果。实际表有大约 100 万条记录。
我该如何解决这个问题?
编辑:对我最初缺乏准确解释表示歉意。基本上我想要得到的是,
col1 和 col3 的值以这样的方式......
- 获取 col1 的 col3 的所有值, 例如:对于 col1 = a,我的 col3 值为 v1、v2
加号
- col2 的 col3 值,对于 col1 = a 我有 col2 作为 l1,l2 的含义。因此,现在我需要获取 col3 的值,其中 col2 在 l1,l2 中。
我已经编辑了上面的预期结果。
【问题讨论】:
-
你能通过澄清你的例子吗?我不明白你所说的“(col2的col3值属于col1 = a)”是什么意思。
-
编辑了我的问题以正确解释问题。
标签: sql postgresql