Запрос Postgres для поиска данных из таблицы, где тип столбца — json, и поиск данных с использованием IN со списком?Python

Программы на Python
Ответить
Anonymous
 Запрос Postgres для поиска данных из таблицы, где тип столбца — json, и поиск данных с использованием IN со списком?

Сообщение Anonymous »

Я использую базу данных postgres, я работаю с кодом fastapi, где я хочу найти данные из базы данных, используя теги, учитывая, что столбец тегов имеет тип json, также входными данными будет список Python. Получение списка Python от пользователя и фильтрация данных с использованием этого списка из базы данных. но это не так..... здесь работает запрос.....

Код: Выделить всё

`await cur.execute(f"""
SELECT \*
FROM demo_data.demo_assets
WHERE ("Tags" -\>\> 'category') IN ({','.join(\['%s'\] \* len(data.category))})
OR ("Tags" -\>\> 'domain') IN ({','.join(\['%s'\] \* len(data.domain))})
OR ("Tags" -\>\> 'technology') IN ({','.join(\['%s'\] \* len(data.technology))})
OR ("Tags" -\>\> 'topic') IN ({','.join(\['%s'\] \* len(data.topic))})
OR ("Tags" -\>\> 'author') IN ({','.join(\['%s'\] \* len(data.author))})
OR ("Tags" -\>\> 'platform') IN ({','.join(\['%s'\] \* len(data.platform))})
OR ("Tags" -\>\> 'processerfamily') IN ({','.join(\['%s'\] \* len(data.processerfamily))})
OR ("Tags" -\>\> 'processortype') IN ({','.join(\['%s'\] \* len(data.processortype))})
OR ("Tags" -\>\> 'embeddedboard') IN ({','.join(\['%s'\] \* len(data.embeddedboard))});
""",( data.category, data.domain, data.technology , data.topic, data.author, data.platform, data.processerfamily, data.processortype, data.embeddedboard))
results = await cur.fetchall()`
Мне нужен sql-запрос, который будет работать и получать правильные данные из таблицы

Подробнее здесь: https://stackoverflow.com/questions/791 ... and-findin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»