powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос запроса с Microsoft SQL на PostgreSql
9 сообщений из 9, страница 1 из 1
Перенос запроса с Microsoft SQL на PostgreSql
    #39903460
legis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите переписать запрос с mysql (запрос работал) на postgree.
JavaScript обращается на прямую к бд вот таким запросом:
SELECT DISTINCT
[c].[id]
,[c].[fullname]
,[c].[email]
,[p].[position_date]
,[as].[id] AS [assesment_id]
,[as].[title] AS [assesment_name]
,[ccatpm].[month]
,[ccatpm].[day]
,[ccatpm].[hour]
,[ccatpm].[minute]
FROM
[cc_agat_type_position_matrixs] AS [ccatpm]
LEFT JOIN [cc_agat_type_position_matrix] AS [ccatpm_doc] ON [ccatpm].[id] = [ccatpm_doc].[id]
CROSS APPLY [ccatpm_doc].[data].nodes('cc_agat_type_position_matrix/assessments/assessment') AS [_ccatpm_doc](data)
INNER JOIN [assessments] AS [as] ON [_ccatpm_doc].[data].value('(./assessment_id)[1]', 'bigint') = [as].[id]
INNER JOIN [position_commons] AS [cp] ON [ccatpm].[position_common_id] = [cp].[id]
INNER JOIN [positions] AS [p] ON [p].[position_common_id] = [cp].[id]
INNER JOIN [collaborators] AS [c] ON [p].[basic_collaborator_id] = [c].[id]
LEFT JOIN [test_learnings] AS [tl] ON [tl].[person_id] = [c].[id] AND [as].[id] = [tl].[assessment_id]
LEFT JOIN [active_test_learnings] AS [atl] ON [tl].[person_id] = [c].[id] AND [as].[id] = [atl].[assessment_id]
WHERE
[atl].[id] IS NULL
AND [tl].[id] IS NULL
AND [ccatpm].[month] IS NOT NULL
AND [ccatpm].[day] IS NOT NULL
AND [ccatpm].[hour] IS NOT NULL
AND [ccatpm].[minute] IS NOT NULL
AND [p].[position_date] >= (Select DATEADD(day,-30,GETDATE()))
AND [c].[email] IS NOT NULL
...
Рейтинг: 0 / 0
Перенос запроса с Microsoft SQL на PostgreSql
    #39903520
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
legis
запрос с mysql

Работал на MySQL? Не верю.

Для начала просто убери все квадратные скобки. Потом процитируй ошибку.
...
Рейтинг: 0 / 0
Перенос запроса с Microsoft SQL на PostgreSql
    #39903530
legis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

зря не верите. js обращался по коду к sql. все работало, все выполнялось.
После переноса на postgresql работать перестало.
...
Рейтинг: 0 / 0
Перенос запроса с Microsoft SQL на PostgreSql
    #39903531
legis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

вот кусок кода где это прямое обращение к sql
...
Рейтинг: 0 / 0
Перенос запроса с Microsoft SQL на PostgreSql
    #39903560
Sergej Grischenkow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
legis,

Вы потеряли один INNER JOIN ...
INNER JOIN [assessments] AS [as] ON [_ccatpm_doc].[data].value('(./assessment_id)[1]', 'bigint') = [as].[id]
...
Рейтинг: 0 / 0
Перенос запроса с Microsoft SQL на PostgreSql
    #39903568
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там, где Вы приводите ошибку не увидел таблицу assessments.
И наверное не очень хорошо использовать в качестве алиаса для таблицы зарезервированное слово 'as'.
...
Рейтинг: 0 / 0
Перенос запроса с Microsoft SQL на PostgreSql
    #39903614
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya
Там, где Вы приводите ошибку не увидел таблицу assessments.
И наверное не очень хорошо использовать в качестве алиаса для таблицы зарезервированное слово 'as'.

скажите спасибо, что не на кириллице.
видал такие базенки ))
...
Рейтинг: 0 / 0
Перенос запроса с Microsoft SQL на PostgreSql
    #39903710
kira ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefman

скажите спасибо, что не на кириллице.
видал такие базенки ))

таких много :(

на второй круг пошли
...
Рейтинг: 0 / 0
Перенос запроса с Microsoft SQL на PostgreSql
    #39903858
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
legis,
во-первых, вам русским языком сообщается: синтаксическая ошибка. Читать сообщения надо? В данном примере вы используете ключевое слово AS также в качестве имени таблицы.

Затем, использование dbo в SQL-запросе бессмысленно. В MS SQL "dbo" используется вместо имени схемы по умолчанию. В PostgrSQL имя схемы по умолчанию или не записывается, или указывается в явном виде: public (если не выбрана другая схема по умолчанию).
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос запроса с Microsoft SQL на PostgreSql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]