powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corr
4 сообщений из 4, страница 1 из 1
SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corr
    #40089068
AckermanMika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Весьма банальная ошибка, но всё же.
Есть у меня один запрос:
select
t.date,
t.b,
t.c,
tt.d
from main_table t
join add_table tt
on tt.id = t.id
where t.date >=date'2021-01-01'

В этом случае у меня запрос срабатывает.

А когда хочу позвать этот запрос через подзапрос:

with prep as (
select
t.date,
t.b,
t.c,
tt.d
from main_table t
join add_table tt
on tt.id = t.id
where t.date >=date'2021-01-01'
)
select *
from prep

У меня появляется ошибка - "SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'prep as (select .....".

В чем может быть проблема, вроде имя подзапроса выбрал нормальную (Prep). да и вроде нет синтактических ошибок.
...
Рейтинг: 0 / 0
SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corr
    #40089072
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия MySQL старая?
With появилась в версии 8.
...
Рейтинг: 0 / 0
SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corr
    #40089073
AckermanMika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5.7.28 - log.
Нужно переделать весь скрипт?)
...
Рейтинг: 0 / 0
SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corr
    #40089120
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делайте не CTE, а простой подзапрос.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select *
from ( select t.date,
              t.b,
              t.c,
              tt.d
        from main_table t
        join add_table tt
            on tt.id = t.id
        where t.date >= date '2021-01-01' ) prep
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corr
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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