Во-первых, ваш запрос sql не соответствует вашим образцам данных. Я предполагаю, что ваши документы в дБ, как показано ниже:
{
"domainname": "cardiology",
"payload": {
"sessionId": "ABC1234",
"sessionTimestamp": "2020-02-04T10:14:43.507Z",
"values": [10, 20, 30, 40, 50]
}
},
{
"domainname": "cardiology",
"payload": {
"sessionId": "ABC1234",
"sessionTimestamp": "2020-02-05T10:10:43.507Z",
"values": [60, 70, 80, 90, 100]
}
}
Кажется, вы хотите реализовать self-join
с помощью cosmos db что на самом деле не поддерживается. Так что я не думаю, что JOIN
следует использовать здесь.
Попытка получить недавний элемент на основе метки времени из нескольких одинаковых записей sessionId.
Возможно, вам нужен GROUP BY здесь.
sql:
SELECT max(c.payload.sessionTimestamp),c.payload.sessionId from c
group by c.payload.sessionId
результат:
Тогда вы получите массив sessionId
, который можно использовать в следующем sql. Такие как ... where c.sessionId in [sessionId array]