Запрос 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?
Załączniki 1
Aktualne zlecenia dla freelancerów w kategorii Bazy danych i SQL
Potrzebny specjalista Power BI do budowy raportów zarządzających na podstawie BAS Księgowość KORPO firmieJesteśmy dystrybutorem międzynarodowych marek sportowych w Ukrainie. Księgowość prowadzona jest w BAS Księgowość KORP.Szukamy specjalisty, który pomoże zbudować system raportowania zarządczego dla kierownictwa firmy na bazie Power BI.Ważne: interesuje nas nie tylko… Bazy danych i SQL, Usługi księgowe ∙ 11 godzin 2 minuty temu ∙ 3 oferty |
Specjalista ds. Excela / automatyzacji procesów (Excel + mile widziane programowanie)Szukamy specjalisty z ZAAWANSOWANYMI umiejętnościami Excel do optymalizacji istniejącego pliku i automatyzacji procesów. Wielką zaletą będzie, jeśli masz również umiejętności programowania / VBA / Power Query / Power Automate lub doświadczenie w tworzeniu złożonej logiki w… Python, Bazy danych i SQL ∙ 12 godzin 53 minuty temu ∙ 31 ofert |
Zadanie techniczne: Integracja bota czatu Telegram z BAS1. Ogólny opis Należy zrealizować integrację chatbota z systemem BAS w celu przesyłania i rejestrowania danych o towarach (zamówieniach). 2. Dane wejściowe (przesyłane przez chatbota): ID grupy Nazwa towaru (z kodem towaru) Cena towaru 3. Logika działania: Po naciśnięciu… Automatyzacja zarządzania przedsiębiorstwem, Bazy danych i SQL ∙ 14 godzin 9 sekund temu ∙ 16 ofert |
Integracja danych 1CZorganizować jakościowe przygotowanie i transfer danych z 1C do BigQuery do dalszego wykorzystania w Looker:Zorganizować dane zgodnie z tym, jakie pola są potrzebne.Przygotować zrozumiałą strukturę tabel i pośrednich zbiorów danych, na których będą budowane… Bazy danych i SQL, Obróbka danych ∙ 2 dni 5 godzin temu ∙ 9 ofert |
Opracowanie prostego systemu controllingu i ewidencji zarządczej w Google Sheets „pod klucz”Nazwa zadania: Opracowanie prostego systemu controllingu i ewidencji zarządczej w Google Sheets „pod klucz” dla firmy budowlanej w Polsce (+ szkolenie online oraz pomoc przy wdrożeniu) O firmie, kontekście i moim głównym problemie Dzień dobry, Poszukuję doświadczonego… Bazy danych i SQL, Usługi księgowe ∙ 3 dni 10 godzin temu ∙ 35 ofert |