IN条件,在表列中使用逗号分隔值

时间:2016-02-04 21:04:48

标签: sql amazon-redshift

当我尝试在我的redshift SQL查询中将列存储的“逗号分隔值”传递给IN条件时,我遇到了一个问题。

示例:

Table_Ref_parameters

PID |参数1 --- --------------- 1 | P001,P002

源表

ProductID |描述 ---------- --------------- P001 | P001_desc P002 | P002_desc P003 | P003_desc

- 从源表中查询选择

从[Source Table]中选择*,其中ProductID in(从Table_Ref_parameters中选择Para​​meter1)

- 这并没有给我任何结果,即使我试图用不同的引用给它,即使在列数据中也是如此('P001','P002')。当我通过专栏时,它仍然不起作用。

任何人都有任何提示请帮我解决这个问题。

谢谢你们。

1 个答案:

答案 0 :(得分:0)

这是因为in列表需要是一组离散的字符串。 in子句中的select子句将为table_ref_parameters中的每一行生成一个字符串。如果您要更新Table_Ref_Parameters,以便每行包含一个没有引号的参数,这将正常工作。