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
。在返回内容的子查询创建别名之前,无法访问别名