如何在雪花中使用展平逻辑时加入 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 的语句,看看它是否有效。