Как получить ключ с точками/полными остановками в инструкции SQL?

#sql #amazon-web-services #naming-conventions #aws-iot

Вопрос:

Новичок в SQL. Я пытаюсь реализовать правило AWS в SQL, которое выглядит следующим образом:

 SELECT * 
FROM '$aws/things/RaspberryPi/shadow/update/accepted' 
WHERE state.reported.moisture < 400
 

но я получаю значение из json, подобного этому, где я не могу изменить ключи:

 {
  "reported": {
    "Q..1:3-1": "01",
    "AI..4:1-1": "00F3",
    "AI..4:3-1": "019E",
    "AI..4:5-1": "00C7"
  }
}
 

Поэтому «состояние.сообщено.влажность» необходимо заменить на состояние.сообщено.AI..4:5-1.

Я хотел бы сделать что-то вроде:

 SELECT * 
FROM '$aws/things/RaspberryPi/shadow/update/accepted' 
WHERE state.reported.'AI..4:5-1' < 400
 

только это не работает.

Как я могу вставить этот ключ, подобный этому, в эту инструкцию SQL?

Заранее спасибо!

Комментарии:

1. Какая конкретно база данных?

2. это в веб-службах Amazon, следующих этому руководству: docs.aws.amazon.com/iot/latest/developerguide/…

Ответ №1:

вы можете использовать команду get следующим образом:

 SELECT * 
FROM '$aws/things/logo_temp/shadow/update' 
WHERE get(get(state,"reported"),"Q..1:3-1") = "01"