Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Filter array dengan nilai bersarang
Larik besar sering mengandung struktur nest, dan Anda harus dapat memfilter, atau mencari, untuk nilai-nilai di dalamnya.
Untuk menentukan set data untuk larik nilai yang mencakup bersarangBOOLEAN
nilai, masalah kueri ini:
WITH dataset AS ( SELECT CAST( ROW('aws.amazon.com', ROW(true)) AS ROW(hostname VARCHAR, flaggedActivity ROW(isNew BOOLEAN)) ) AS sites ) SELECT * FROM dataset
Ini mengembalikan hasil ini:
+----------------------------------------------------------+
| sites |
+----------------------------------------------------------+
| {HOSTNAME=aws.amazon.com, FLAGGEDACTIVITY={ISNEW=true}} |
+----------------------------------------------------------+
Selanjutnya, untuk memfilter dan mengaksesBOOLEAN
nilai dari elemen itu, terus menggunakan titik.
notasi.
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
Kueri ini memilih bidang nest dan mengembalikan hasil ini:
+------------------------+
| hostname | isnew |
+------------------------+
| aws.amazon.com | true |
+------------------------+