cbq> SELECT meta(res).id as reservationId, > res.status as reservationStatus, > res.stayDetails.roomNumber as roomNumber, > (CASE WHEN NOT primaryGuest IS MISSING AND ARRAY_LENGTH(primaryGuest) > 0 > THEN [primaryGuest[0].firstName, primaryGuest[0].lastName, primaryGuest[0].dateOfBirth, primaryGuest[0].yearOfBirth] > ELSE [null, null, null, null] > END) AS primaryGuest, > ARRAY_REMOVE( > ARRAY > CASE WHEN NOT item IS MISSING AND item.primaryGuest == TRUE > THEN [] > ELSE [item.firstName, item.lastName, item.dateOfBirth, item.yearOfBirth] > END > FOR item IN > CASE WHEN res.stayDetails.guestDetails IS MISSING THEN [] ELSE res.stayDetails.guestDetails END > END, []) AS additionalGuests > FROM simplehms dates USE KEYS [ "hotel::6::20160804" ] > JOIN simplehms res ON KEYS ARRAY_CONCAT(ARRAY_CONCAT( > ARRAY item.reservationId FOR item IN CASE WHEN dates.edges.stays IS MISSING THEN [] ELSE dates.edges.stays END END, > ARRAY item.reservationId FOR item IN CASE WHEN dates.edges.checksIn IS MISSING THEN [] ELSE dates.edges.checksIn END END), > ARRAY item.reservationId FOR item IN CASE WHEN dates.edges.checksOut IS MISSING THEN [] ELSE dates.edges.checksOut END END > ) > NEST simplehms primaryGuest ON KEYS ARRAY_IFNULL( > ARRAY CASE WHEN item.primaryGuest == TRUE THEN item.guestProfileId ELSE NULL END FOR item IN res.stayDetails.guestDetails END > ) > ORDER BY res.stayDetails.roomNumber ASC ; { "requestID": "e927cfb2-9c36-4c63-8084-8682d258afc2", "signature": { "additionalGuests": "array", "primaryGuest": "array", "reservationId": "json", "reservationStatus": "json", "roomNumber": "json" }, "results": [ { "additionalGuests": [], "primaryGuest": [ "Reservierung per Drag \u0026 Drop verschieben", "", null, 0 ], "reservationId": "hotel::6::res::162", "reservationStatus": "Guaranteed", "roomNumber": null }, { "additionalGuests": [], "primaryGuest": [ "Leah", "Eisenhauer", null, 0 ], "reservationId": "hotel::6::res::150", "reservationStatus": "Guaranteed", "roomNumber": "101" }, { "additionalGuests": [], "primaryGuest": [ "Daniel", "Berg", null, 0 ], "reservationId": "hotel::6::res::152", "reservationStatus": "Guaranteed", "roomNumber": "102" }, { "additionalGuests": [], "primaryGuest": [ "Diana", "Sanger", null, 0 ], "reservationId": "hotel::6::res::154", "reservationStatus": "Guaranteed", "roomNumber": "103" }, { "additionalGuests": [], "primaryGuest": [ "Jürgen", "Klug", null, 0 ], "reservationId": "hotel::6::res::153", "reservationStatus": "Guaranteed", "roomNumber": "103" }, { "additionalGuests": [], "primaryGuest": [ "Ursula", "Mayer", null, 0 ], "reservationId": "hotel::6::res::156", "reservationStatus": "Guaranteed", "roomNumber": "201" }, { "additionalGuests": [], "primaryGuest": [ "Stefanie", "Papst", null, 0 ], "reservationId": "hotel::6::res::160", "reservationStatus": "Guaranteed", "roomNumber": "202" }, { "additionalGuests": [], "primaryGuest": [ "Kristian", "Ackerman", null, 0 ], "reservationId": "hotel::6::res::161", "reservationStatus": "Guaranteed", "roomNumber": "203" }, { "additionalGuests": [], "primaryGuest": [ "Robert", "Hoffmann", null, 0 ], "reservationId": "hotel::6::res::158", "reservationStatus": "Guaranteed", "roomNumber": "204" } ], "status": "success", "metrics": { "elapsedTime": "61.543941ms", "executionTime": "61.331722ms", "resultCount": 9, "resultSize": 2862, "sortCount": 9 } }