aws sql取消对varchar数组的测试

aws sql取消对varchar数组的测试,sql,amazon-web-services,unnest,Sql,Amazon Web Services,Unnest,带有列variationscsv的表var包含元素数组 每行中的[“el”、“el2”、“3el”。]。 如何取消列的嵌套以检查“el56”是否在一行中? 所需输出将包含原始变量SCSV列和一个布尔列,测试结果为:True(如果数组中有“el56”),否则为false。 我会感谢你的帮助 尝试 WITH vars AS ( SELECT vars.variationcsv AS items ) SELECT i AS array

带有列
variationscsv
的表
var
包含元素数组 每行中的[“el”、“el2”、“3el”。]。 如何取消列的嵌套以检查“el56”是否在一行中? 所需输出将包含原始
变量SCSV
列和一个布尔列,测试结果为:
True
(如果数组中有“el56”),否则为
false
。 我会感谢你的帮助

尝试

    WITH vars AS (
    SELECT 
    vars.variationcsv
        AS items
         )
    SELECT i AS array_items FROM vars
    CROSS JOIN UNNEST(items) AS t(i)
    WHERE contains(i, 'el56')

收到一个错误

Column 'vars.variationcsv' cannot be resolved 

您可能忘记了子查询中的
FROM var
语句,不是吗


您在主查询中的列的命名可能也有问题。

我猜错误是由于您的表被称为
var
,但您正在查找
vars.variationcsv
。在返回内容的子查询创建别名之前,无法访问别名