有没有办法在红移中使用 CONCAT(table_name(col1, col2, col3,.....)) 连接可变数量的列?
Posted
技术标签:
【中文标题】有没有办法在红移中使用 CONCAT(table_name(col1, col2, col3,.....)) 连接可变数量的列?【英文标题】:Is there a way to concatenate variable number of columns using CONCAT(table_name(col1, col2, col3,.....)) in redshift? 【发布时间】:2019-01-17 17:53:57 【问题描述】:我正在使用 python 脚本执行 sql 查询,该脚本传递具有可变列数的参数,并根据这些列与另一个表进行 JOIN。有没有办法连接可变数量的列? 我的查询是
DELETE FROM INPUT_SCHEMA.INPUT_TABLE A
using TARGET_SCHEMA.TARGET_TABLE_NAME B
where
A.COMMON_COL1=B.COMMON_COL1
and A.COMMON_COL2=B.COMMON_COL2
这里我加入了 2 列,但理想情况下它是一个可变数字,将来我可能会再添加 10 列。并且列列表是通过python传递的
【问题讨论】:
这在 Python 中应该很容易。编辑问题并显示您的实际 Python 代码。 【参考方案1】:像下面这样试试
select col1|| ' ' || col2
from table
或使用concat
select concat(col1, col2)
from table
【讨论】:
我的查询是 DELETE FROM INPUT_SCHEMA.INPUT_TABLE A using TARGET_SCHEMA.TARGET_TABLE_NAME B where A.COMMON_COL1=B.COMMON_COL1 and A.COMMON_COL2=B.COMMON_COL2 这里我加入了 2 列,但理想情况下它是一个可变数字,将来我可能会再添加 10 列。并且列列表是通过python传递的 @dev 。 . .这回答了您提出的问题,并且答案对我来说是正确的。如果您还有其他问题,请将其作为问题而非评论提出。 @GordonLinoff 我在问题中添加了它。谢谢以上是关于有没有办法在红移中使用 CONCAT(table_name(col1, col2, col3,.....)) 连接可变数量的列?的主要内容,如果未能解决你的问题,请参考以下文章