如何在雪花中使用展平逻辑时加入 table
How to joining table while using flatten logic in snowflake
我在下面的查询中使用了 Snowflake 中的横向展平逻辑。查询适用于别名 A
.
我在使用连接条件时收到无效标识符错误
基于公共列。 ON B.product_id=A.product_id
SELECT A.ID, INDEX, purchase_list,
CASE WHEN INDEX = 1 and purchase_list NOT IN('121=find-values','122=find_results','123=item_details','',' ')
THEN purchase_list END as item_no
FROM (SELECT ID,index,d.value::string AS purchase_list FROM (
SELECT ID,c.value::string AS purchase_list
FROM table_1,lateral flatten(INPUT=>split(po_purchase_list, '|')) c
),
LATERAL flatten(INPUT=>split(purchase_list, ';')) d
) A -- The query would be correct till here
JOIN
table_2 B -- This is the table I need to join with table_1
ON B.product_id=A.product_id
WHERE date='2022-03-03'
AND b.item_src NOT IN('0','1','3','4')
从错误消息来看,它似乎无法在 table 或 CTE 之一中找到列 product_id,您能否将列 product_id 包含在您的SELECT 对 table A 的语句,看看它是否有效。
我在下面的查询中使用了 Snowflake 中的横向展平逻辑。查询适用于别名 A
.
我在使用连接条件时收到无效标识符错误
基于公共列。 ON B.product_id=A.product_id
SELECT A.ID, INDEX, purchase_list,
CASE WHEN INDEX = 1 and purchase_list NOT IN('121=find-values','122=find_results','123=item_details','',' ')
THEN purchase_list END as item_no
FROM (SELECT ID,index,d.value::string AS purchase_list FROM (
SELECT ID,c.value::string AS purchase_list
FROM table_1,lateral flatten(INPUT=>split(po_purchase_list, '|')) c
),
LATERAL flatten(INPUT=>split(purchase_list, ';')) d
) A -- The query would be correct till here
JOIN
table_2 B -- This is the table I need to join with table_1
ON B.product_id=A.product_id
WHERE date='2022-03-03'
AND b.item_src NOT IN('0','1','3','4')
从错误消息来看,它似乎无法在 table 或 CTE 之一中找到列 product_id,您能否将列 product_id 包含在您的SELECT 对 table A 的语句,看看它是否有效。