#sql #join #common-table-expression #4d-database #inner-query
#sql #Присоединиться #common-table-expression #4d-база данных #внутренний запрос
Вопрос:
Кто-нибудь здесь когда-нибудь работал с 4D SQL?
Наше корпоративное приложение основано на этом и через ODBC conector (я пробовал несколько версий драйвера ODBC, и теперь я использую версию 17 на x64), и я могу использовать менеджер БД, такой как DBeaver, для запроса связанной БД:
Это единственная конфигурация, с которой я закончил, чтобы правильно выполнить SQL-запросы через DBeaver, соблюдая кодировки, соединения и т.д…
Но я обнаружил множество проблем с 4D SQL:
- Нет предложения «WITH» для предварительного создания групп и ВЫБОРА из них…
- Я не могу выполнить несколько СОЕДИНЕНИЙ, объединяющих их: например,
SELECT ... FROM ... INNER JOIN ... ON(...) LEFT JOIN ... ON(...)
. Я могу использовать только внутренние или левые элементы в одном блоке… - Использование внутренних запросов, похоже, возможно только в качестве предикатов (на WHERE). Но если я хочу сделать
SELECT ... FROM (INNER QUERY) AS t WHERE...
, это невозможно.
Вы не можете сделать SELECT COUNT(*) FROM (INNER QUERY)
, например.
И многое другое, подобное этому.
Кто-нибудь здесь в такой же ситуации и с некоторыми решениями?
Комментарии:
1. В чем вопрос?
Ответ №1:
Вы не упомянули версию 4D, с которой работаете. Последние версии, особенно v18, значительно улучшили реализацию SQL.
Вы также найдете более подробную справку здесь:https://discuss.4d.com /
Комментарии:
1. Доброе утро! Сейчас мы работаем с версией 15.6. Надеюсь, мы перейдем к 18 в краткосрочной перспективе…