N1QL получает данные из корзины, используя идентификатор из документа. Я не вижу свои результаты - PullRequest
0 голосов
/ 26 мая 2020

Я хочу получить данные из другого сегмента, используя идентификатор внутри документа

Запрос, который я пытаюсь выполнить:

SELECT meta().id,`docId`,`createdAt`,`updatedAt`,`data` FROM sales AS ccc 
LET contact = (SELECT meta().id,`docId`,`createdAt`,`updatedAt`,`data` FROM contacts AS bbb USE KEYS [ccc.contactId])
WHERE  status = 'active'   LIMIT 10 OFFSET 0

Source do c:

{
"status": "active",
"data": {
      "billingAddress": null,
      "contactId": "1b529239ea294da687559e1464a8c5a8",
      "count": 1,
      "currency": "USD"
}
}

До c Я хочу получить "1b529239ea294da687559e1464a8c5a8",

{
"id" : "1b529239ea294da687559e1464a8c5a8"
"status": "active",
 "data" : {
           "name": "SpaceX", "location": {}
     } 
}

Ответ на запрос, который я пытаюсь получить:

{
"status": "active",
"data": {
      "billingAddress": null,
      "contactId": "1b529239ea294da687559e1464a8c5a8",
      "contact": { "data": { "name": "SpaceX"}  }, // *trying to the contact in a contact var by selecting the name*
      "count": 1,
      "currency": "USD"
}
}

1 Ответ

0 голосов
/ 26 мая 2020

Вы никогда не планировали контакта

SELECT ccc.*, OBJECT_CONCAT(ccc.data,concat) AS data  
FROM sales AS ccc 
LET contact = (SELECT {bbb.data.name} AS data
             FROM contacts AS bbb USE KEYS ccc.contactId)[0]
WHERE  status = 'active'  
 LIMIT 10 OFFSET 0
...