我需要用横向展平来解析 JSON。但我想要 2 个值 - 一个用于俱乐部,一个用于免费送货,对于俱乐部我没问题,但我也不能免费送货 这是我有的代码
select LPAD(PURCHASE_ID,10, '0')as PURCHASE_ID, DELIVERY_ID, PARTNER_ID,HAS_LABEL_FDEL, f3.value:commonLabels[0]::varchar as CLUB --,ORDER_ID as ue
from (select distinct PURCHASE_ID, DELIVERY_ID, PARTNER_ID,HAS_LABEL_FDEL, PARSE_JSON(PR_TRANSPORT) as PR_TRANSPORT from "DWHM_MALLGROUP"."SRC_ORACLEIWP"."PURCHASE_ANALYSIS_RULES"
) as PAR,
lateral flatten(input => PAR.PR_TRANSPORT) f3
where PR_TRANSPORT is not null
and f3.value:type='CLUB' ---????or f3.value:type='FREE_DELIVERY'
这是 parse JSON 看起来像这样免费交付,我想拥有:
[{"ruleId":244419,"type":"FREE_DELIVERY"},{"ruleId":9942304,"type":"FREE_DELIVERY"}] 这是俱乐部的样子:[{"commonLabels":["CZ_B2B_CLUB "],"ruleId":20228738,"type":"CLUB"}]
所以 CLUBS 的一个字段,一个免费送货的字段