如何解决将具有设置值的列添加到表中,为每一行扩展表
我正在尝试在Redshift中向表添加一列,该列向所有行添加多个值,但是没有关系,除了所有行都应受到影响。
我不确定如何描述这一点,因此Google-ing表现得很艰难!
视觉示例:
+----+-------+
| ID | Name |
+----+-------+
| 1 | James |
| 2 | Jane |
+----+-------+
应该成为
+----+-------+-----+
| ID | Name | Sec |
+----+-------+-----+
| 1 | James | SG1 |
| 1 | James | SG2 |
| 1 | James | SG3 |
| 2 | Jane | SG1 |
| 2 | Jane | SG2 |
| 2 | Jane | SG3 |
+----+-------+-----+
基本上将“ SG1,SG2和SG3”添加到每一行。
谢谢
解决方法
您可以cross join
包含三个值的派生表:
select t.id,t.name,s.sec
from mytable t
cross join (select 'SG1' sec union all select 'SG2' union all select 'SG3') s
我不确定Redshift是否支持values()
,这将有助于缩短语法:
select t.id,s.sec
from mytable t
cross join (values ('SG1'),('SG2'),('SG3')) s(sec)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。