Отредактируйте SQL-запрос, включив в него псевдонимы, используя Python. ⇐ Python
Отредактируйте SQL-запрос, включив в него псевдонимы, используя Python.
Я хочу использовать Cosette для набора SQL-запросов (предположим, что это стандартный SQL, без особых функций базы данных). К сожалению, в документации Козетты говорится:
Синтаксис SQL Cosette более ограничен (скажем, по сравнению с MySQL или T-SQL). Эти ограничения полезны для точного выражения семантики запроса:
В предложении select каждый проецируемый атрибут должен быть назван, используя, например, (x.x + x.x) как ax. В предложении from каждая таблица или подзапрос имеет форму, например x. Каждая ссылка на атрибут должна быть полностью квалифицирована с помощью . например х.х.
Поэтому мне нужно найти способ использовать существующие SQL-запросы и добавлять псевдонимы ко всем таблицам и столбцам.
Подход, о котором я думал, заключается в использовании одного из множества различных пакетов синтаксического анализатора SQL Python (sqlparse, sqlglot, sqloxyd,...) для поиска таблиц и столбцов (и структуры), а затем использования одного из Пакеты Python для построения SQL-запросов (pypika, python-sql, ...), чтобы переписать запрос как есть, но с псевдонимами.
Однако этот подход кажется сложным в реализации и имеет множество крайних случаев. Есть ли лучшее направление, в котором я могу пойти?
Я хочу использовать Cosette для набора SQL-запросов (предположим, что это стандартный SQL, без особых функций базы данных). К сожалению, в документации Козетты говорится:
Синтаксис SQL Cosette более ограничен (скажем, по сравнению с MySQL или T-SQL). Эти ограничения полезны для точного выражения семантики запроса:
В предложении select каждый проецируемый атрибут должен быть назван, используя, например, (x.x + x.x) как ax. В предложении from каждая таблица или подзапрос имеет форму, например x. Каждая ссылка на атрибут должна быть полностью квалифицирована с помощью . например х.х.
Поэтому мне нужно найти способ использовать существующие SQL-запросы и добавлять псевдонимы ко всем таблицам и столбцам.
Подход, о котором я думал, заключается в использовании одного из множества различных пакетов синтаксического анализатора SQL Python (sqlparse, sqlglot, sqloxyd,...) для поиска таблиц и столбцов (и структуры), а затем использования одного из Пакеты Python для построения SQL-запросов (pypika, python-sql, ...), чтобы переписать запрос как есть, но с псевдонимами.
Однако этот подход кажется сложным в реализации и имеет множество крайних случаев. Есть ли лучшее направление, в котором я могу пойти?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение