Запрос SQL преобразовать в SQLalchemy
нужна помощь в построении запроса через SqlAlchemy.
Логика:
1). Есть таблица со списком девайсов (“UECAP_DEVICE”)
2). Девайсы тестируются в лаборатории в трёх условиях:
- с фильтром (condition = “filter”)
- без фильтра (condition = “n_filter”)
- 5G условия (condition = “5g”)
Вторая таблица - это “UECAP_DEVICE_CONDITION”, имеет поля:
▸ device_id (ссылка (FK) на девайс из таблицы “UECAP_DEVICE”)
▸ binary_id (ссылка (FK) на HEX-код из таблицы “UECAP_BINARY”, который является результатом тестирования оборудования)
▸ uecap_analyze_id (ссылка (FK) на запись из таблицы “UECAP_ ANALYZE”, которая хранит результаты декодирования HEX-кода (характеристики девайса))
▸ condition (имеет одно из значений: “filter”, “n_filter”, “5g” и “combined”).
Сondition = “combined”, это условное состояние, которое просто нужно для хранения объединённых данных из вышеуказанных трех условий (“filter”, “n_filter”, “5g”), которые хранятся в таблице “UECAP_ ANALYZE”. И поэтому у “combined” нет ссылки на таблицу “UECAP_BINARY” (т. к. он не имеет HEX-кода).
3). И третья таблица — это “UECAP_ ANALYZE”.
Для “filter”, “n_filter” и “5g” — там хранятся результаты декодирования HEX-кода (характеристики девайса).
Для “combined” — там хранятся merged/агрегированные данные из трёх вышеуказанных состояний.
QUERY
По умолчанию отправляется запрос в БД, который включает данные из таблиц:
“UECAP_DEVICE” + “UECAP_DEVICE_CONDITION” (WHERE condition = “combined”) + UECAP_ ANALYZE (привязанная через FK к uecap_device_condition.condition = “combined”)
И они отсортированы по ID девайса.
Таким образом появляется список девайсов с merged информацией (для состояния “combined”).
Но мне нужно отсортировать список девайсов по двум вариантам:
1). длина (length) HEX-кода (таблица “UECAP_BINARY”, поле “UECAP_BIN”) из состояния condition = “5g”.
2). получаить максимальное значение длины HEX-кода для всех трёх состояний (“filter”, “n_filter”, “5g”) и уже по нему отсортировать список девайсов.
Например для некоторого девайса:
length(uecap_binary.uecap_bin) для “filter” = 100
length(uecap_binary.uecap_bin) для “n_filter” = 200
length(uecap_binary.uecap_bin) для “5g” = 300
Соответственно в сортировке девайсов будет учавствовать значение 300.
В SQL часть кода выглядит следующим образом:
(select max(length(ub.uecap_bin_5g))
from uecap_device_condition udc
left join uecap_binary ub on udc.binary_id = ub.id
where udc.condition <> 'combined'
and udc.uecap_device_id = uecap_device.id
) AS lng
Как этот SQL запрос составить в SQLalchemy?
Приложения 1
Актуальные фриланс-проекты в категории Python
Специалист по Excel / автоматизации процессов (Excel + желательно программирование)Ищем специалиста с ПРОДВИНУТЫМИ знаниями Excel для оптимизации существующего файла и автоматизации процессов. Будет большим преимуществом, если вы также имеете навыки программирования / VBA / Power Query / Power Automate или опыт создания сложной логики в Excel. Задачи проекта… Python, Базы данных и SQL ∙ 1 час 20 минут назад ∙ 12 ставок |
Автоматизация процессоів через API и PhytonНиже описал текущий процесс и то, к какому результату хотелось бы прийти. Также прикладіваю файлы реалтного процесса чтобы лучше понять как он выглядит в ревльности Текущий процесс Сейчас весь процесс выполняется вручную: загрузка/выгрузка файлов, перенос данных между… AI и машинное обучение, Python ∙ 2 часа 21 минута назад ∙ 21 ставка |
Необходимо создать бота в ТГ для оплаты подписки.
2000 UAH
Необходимо создать бота в телеграме, где пользователь сможет оформить подписку на доступ к веб-камерам, которые находятся во дворе. Организовать в боте оплату двух видов подписок (на месяц и на один день). Бот должен автоматически проверять оплату и после выдавать ссылку-доступа. Python, Разработка ботов ∙ 15 часов 8 минут назад ∙ 68 ставок |
Парсинг и классификация большого массива изображенийНеобходимо реализовать проект по сбору и структурированию большого массива архитектурных изображений из открытых веб-источников.Задача включает: автоматизированный сбор изображений; загрузка файлов в максимально доступном качестве; классификацию изображений по категориям:… Python, Парсинг данных ∙ 22 часа 8 минут назад ∙ 30 ставок |
Бизнес-логикa платформы: подтверждение занятий, контроль посещаемости-и история уроков (DjangoДоработка бизнес-логики образовательной платформы: подтверждение занятий, контроль посещаемости и история уроков (Django + React) Необходимо реализовать полноценную систему подтверждения уроков, контроля посещаемости и хранения истории подтверждений. Важно Перед началом… Python ∙ 3 дня 3 часа назад ∙ 29 ставок |