横向嵌套-SQL
Posted
技术标签:
【中文标题】横向嵌套-SQL【英文标题】:Lateral Unnest -SQL 【发布时间】:2019-02-15 11:38:15 【问题描述】:Lateral Unnest -ing 给我带来了一些问题。
我有一张桌子 看起来像:
Name | Info
------|------
A | Info1, Info2, Info3
B | Info1, Info 2, Info3
我希望它看起来像:
Name | Info
------|------
A | Info1
A | Info2
A | Info3
B | Info1
B | Info2
B | Info3
里面还有几列。我想都保留它们。 有什么想法吗?
【问题讨论】:
【参考方案1】:如果你想使用unnest()
:
select t.name, trim(i) as info
from t cross join lateral
unnest(string_to_array(t.info, ',')) i;
你不需要使用unnest()
,因为你可以直接拆分成一个数组:
select t.name, trim(i) as info
from t cross join lateral
regexp_split_to_table(t.info, ',') i;
【讨论】:
谢谢,我试过了,但它会将所有其他列放在一个列中?如果我想将其他列也保留在列中怎么办?呐。 | CB|CC|信息 ------|------|----|-- A | xyz|xyz|Info1, Info2, Info3 B | xyz|xyz|Info1, Info2, Info3 Na 。 | CB|CC|信息 ------|------|----|-- A | xyz|xyz|Info1 A | xyz|xyz|Info2 A | xyz|xyz|Info3 B | xyz|xyz|信息1 B | xyz|xyz|Info2 B | xyz|xyz|Info3 @somanyquestions 您需要明确列出列:select t.name, t.some_value, t.some_date, .... , trim(i) as info from ...
:rextester.com/KBWA21456
@somanyquestions 。 . .您将列出这些列。而且,如果这不能回答问题,请提出 new 问题。这很清楚地涉及两个特定的列。以上是关于横向嵌套-SQL的主要内容,如果未能解决你的问题,请参考以下文章
RecyclerView里面嵌套一个无限循环的横向列表该怎么做
如何在嵌套线性布局中使 imageButton 的高度占屏幕尺寸的 25%。 Android XML 横向布局