При выполнении запроса в подписи есть заголовки полей. Это похоже на описание столбцов СУБД.
SELECT
C.firstName AS `First Name`,
C.surName `Last Name`,
U.auditDetail.createTime AS `Date/Time of the Registration`,
C.contactDetails.`email`.`value` AS `Email Address`,
C.contactDetails.`phone`.`value` AS `Phone Number`,
C.sex `Gender`,
C.dob AS `Data of Birth`,
ag.id AS `Referral Code`,
C.addressDetails.`office_new`.`zipcode` AS `Postal Code`,
C.addressDetails.`office_new`.`city` AS City
FROM default AS C
UNNEST C.activeGroups AS ag
JOIN default AS U ON U.loginld=C.contactDetails.`email`.`value`
WHERE U.type_="user"
AND C.type_= "customer";
{
"requestID": "c4a806b6-b3d7-4172-8b60-ebe195d00cef",
"signature": {
"City": "json",
"Data of Birth": "json",
"Date/Time of the Registration": "json",
"Email Address": "json",
"First Name": "json",
"Gender": "json",
"Last Name": "json",
"Phone Number": "json",
"Postal Code": "json",
"Referral Code": "json"
},
"results": [
],
"status": "success",
"metrics": {
"elapsedTime": "9.723082ms",
"executionTime": "9.616195ms",
"resultCount": 0,
"resultSize": 0
}
}
Если значение поля ОТСУТСТВУЕТ, поле не будет присутствовать в JSON, чтобы сохранить размер Json. Если вы действительно хотите проецировать значения по умолчанию (""), используйте IFMISSING () или IFMISSINGORNULL () или IFNULL ()
Это работает только тогда, когда у вас есть результаты. нулевые результаты по-прежнему дают пустые объекты.
IFMISSING(C.firstName,"") AS `First Name` --project MISSING field as empty string
IFMISSING(C.firstName, NULL) AS `First Name` --project MISSING field as NULL