Использование раскрывающегося списка для обновления содержимого таблиц в retool
Я новичок в переоснащении и postgres. Я хочу сохранить 2 значения в моем раскрывающемся списке, чтобы при выборе 1 я получал столбцы только для 1 устройства в таблице.
Я пробовал использовать следующий запрос:
IF {{select1.value=='2021_1_1'}}
THEN
select * from device WHERE device_id='2'
ELSE
SELECT * from device WHERE device_id='1
но это дает мне следующую ошибку: error: true message: "синтаксическая ошибка в позиции" IF "или рядом с ней: 1
пожалуйста помоги. Спасибо.
2 ответа
Вам нужно будет добавитьwhere
предложение к оператору SQL, чтобы выразить это условие. Это полезно только в том случае, если значение в вашем компоненте Select совпадает с тем значением, по которому вы хотите отфильтровать свою таблицу.
По умолчанию этот тип SQL-запроса также будет настроен на «автоматический запуск при изменении входных данных», что означает, что когда пользователь изменит свой выбор в раскрывающемся компоненте, запрос будет повторно запущен с новым набором фильтров.
Вот пример:
select * from device where device_id = {{ select1.value }}
Обратите внимание, что компонент Select имеет разные значения дляvalue
иdisplay value
(он жеlabel
), что означает, что вы можете отобразить пользователю значение, отличное от значения, переданного запросом.
Используйте device_id в разделе «Значения» раскрывающегося списка, чтобы вы могли изменить свой запрос примерно так:
select * from device where device_id = {{select1.value}}