Новичок - анализ массива JSON объектов в SQL (ReDash / Presto) - PullRequest
0 голосов
/ 16 ноября 2018

Я прочитал несколько предыдущих постов, которые, похоже, связаны с моей трудностью, но ни один не предоставил мне полезного решения.

Ниже приведен пример записи из таблицы. Вы можете видеть, что это массив JSON с другими массивами, вложенными в него. Я пытаюсь получить от этого полезную таблицу SQL, которая даст мне «Pass» или «Fail» для каждого отдельного ключа.

Что-то вроде: -

item - store - key1 - key_1_pass_or_fail - key2 - key_2_pass_or_fail - etc

Если кто-нибудь может помочь мне достичь этого, я был бы очень благодарен.

Большое спасибо,

{  
   store=asda,
   item=YNu8ql80,
   report=   {  
      _meta=      {  
         updated_at=2018-10-08T09:55:38.691         Z,
         validation_version=17
      },
      document_id=YNu8ql80,
      store=asda,
      result=pass,
      itemcheck=      {  
         result=pass,
         report=         [  
            {  
               key=key1,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=null,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key2,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=true,
                     max=true,
                     type=true,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key3,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=true,
                     max=null,
                     type=true,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key4,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=true,
                     max=true,
                     type=true,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key5,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=null,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key6,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=null,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key7,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=null,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key8,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=null,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key9,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=true,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key10,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=null,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key11,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=true,
                     max=true,
                     type=true,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key12,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=true,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key13,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=null,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            },
            {  
               key=key14,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=null,
                     max=null,
                     type=true,
                     not=null
                  }
               ],
               result=pass
            }
         ]
      },
      images=      {  
         result=pass,
         report=         [  
            {  
               key=count,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=true,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            }
         ]
      },
      pricing=      {  
         result=pass,
         report=         [  
            {  
               key=count,
               rules=               [  
                  {  
                     level=mandatory,
                     present=true,
                     result=pass,
                     min=true,
                     max=null,
                     type=null,
                     not=null
                  }
               ],
               result=pass
            }
         ]
      }
   }
}
...