เอาค่าของกุญแจถ้าอยู่ในหนึ่งอาเรย์ส่วนประกอบในผังคอลัมน์ในเกล็ดหิมะ

0

คำถาม

ฉันมีผังย่อยคอลัมน์ซึ่งจะมีตารางคู่ลำดับของวัตถุ. ฉันต้องการให้ค่าของ orgId(iVtXg1iwVmT9Q)จากอาเรย์. ยังไงฉันต้องทำอย่างนั้น? มันจะเป็นเพียงหนึ่ง orgId แต่ฉันไม่รู้จักธาตุดัชนี ที่ด้านล่างตัวอย่างเช่นคำตอบคือ mycolumn[1].ข้อมูลorgId

[{
           "data": {
              "isCustomerAuthenticated": false,
              "visibility": "open"
           },
           "schema": "jsonschema/2-0-0"
       },
       {
           "data": {
               "orgId": "iVtXg1iwVmT9Q",
               "site": "us-abcde.qa",
               "stage": "staging"
           },
           "schema": "jsonschema/1-0-0"
       },
       {
           "data": {
               "onboardingType": "form"
           },
           "schema": "jsonschema/1-0-1"
       }
   ]
snowflake-cloud-data-platform sql
2021-11-23 21:22:36
2

คำตอบที่ดีที่สุด

1

ดังนั้นให้คุณไม่รู้จักซึ่งธาตุคุณต้อง unroll ทั้งหมดผ่านทาง ลบรูแล้วตัวกรองออกไปที่นั่นไม่ตรงกัน

SELECT f.value:data:orgId::text as ordId
FROM table t,
    TABLE(FLATTEN(input => t.mycolumn)) f
WHERE f.value:data:orgId::text IS NOT NULL;

กับเรื่องนี้รูปแบบคุณสามารถเลือกคนอื่นวนตัวอักษรที่จะแทนที่คุณต้องการอย่าง site หรือ stage เช่นกัน

SELECT 
    f.value:data:orgId::text AS ordId
    f.value:data:site::text AS site
    f.value:data:staging::text AS staging
FROM table t,
    TABLE(FLATTEN(input => t.mycolumn)) f
WHERE f.value:data:orgId::text IS NOT NULL;
2021-11-23 21:53:08

"คัดเข้ารอบมาเพื่อเข้าแข่งขัน.."ต้องการหน้าต่างงานไม่ใช่เหรอคะ? ฉันคิดว่าอยู่ที่ไหนมากพออยู่ที่นี่
Gokhan Atil

OMG ฉันมีมากถึงแม้ว่ามัน hattip เป็นอยู่ที่ไหนพอใช่! ฉันคิดว่าฉันเกือบเสมอ aggregating/windowing ดังนั้นตรงใช้คัดเข้ารอบมาเพื่อเข้าแข่งขัน.....
Simeon Pilgrim
0

"ซื่อ"ข้อความเข้าใกล้:

SELECT REGEXP_SUBSTR(ARRAY_TO_STRING(col,''), '"orgId":"([^"]*)"',1,1,'e',1)
FROM T;
-- iVtXg1iwVmT9Q

ข้อมูลการเตรียมพร้อม:

CREATE OR REPLACE TABLE T AS 
SELECT PARSE_JSON('[{
           "data": {
              "isCustomerAuthenticated": false,
              "visibility": "open"
           },
           "schema": "jsonschema/2-0-0"
       },
       {
           "data": {
               "orgId": "iVtXg1iwVmT9Q",
               "site": "us-abcde.qa",
               "stage": "staging"
           },
           "schema": "jsonschema/1-0-0"
       },
       {
           "data": {
               "onboardingType": "form"
           },
           "schema": "jsonschema/1-0-1"
       }
   ]') AS col;
2021-11-23 21:45:02

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่