Filtert Arrays mit verschachtelten Werten - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Filtert Arrays mit verschachtelten Werten

Große Arrays enthalten oft verschachtelte Strukturen und Sie müssen die darin enthaltenen Werte filtern oder suchen können.

Um ein Dataset für ein Array mit Werten zu definieren, das einen verschachtelten BOOLEAN-Wert enthält, senden Sie die folgende Abfrage:

WITH dataset AS ( SELECT CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) AS sites ) SELECT * FROM dataset

Sie erhalten das folgende Ergebnis:

+----------------------------------------------------------+ | sites | +----------------------------------------------------------+ | {HOSTNAME=aws.amazon.com, FLAGGEDACTIVITY={ISNEW=true}} | +----------------------------------------------------------+

Verwenden Sie nun zum Filtern von und Zugreifen auf den BOOLEAN-Wert dieses Elements die Punkt-.-Notation.

WITH dataset AS ( SELECT CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) AS sites ) SELECT sites.hostname, sites.flaggedactivity.isnew FROM dataset

Mit dieser Abfrage werden die verschachtelten Felder ausgewählt und folgendes Ergebnis zurückgegeben:

+------------------------+ | hostname | isnew | +------------------------+ | aws.amazon.com | true | +------------------------+