powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ошибка #1248 - Every derived table must have its own alias
7 сообщений из 7, страница 1 из 1
ошибка #1248 - Every derived table must have its own alias
    #38825267
pixma
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос:
SELECT lichniy_nomer, MAX(sum) FROM (
SELECT lichniy_nomer, SUM(narushenie.shtraf)'sum' FROM protocol, narushenie
WHERE protocol.nomer_narusheniya=narushenie.nomer_narusheniya
GROUP BY (lichniy_nomer))t1
HAVING MAX(sum) = (SELECT lichniy_nomer FROM (SELECT lichniy_nomer, MAX(sum) FROM (
SELECT lichniy_nomer, SUM(narushenie.shtraf)'sum' FROM protocol, narushenie
WHERE protocol.nomer_narusheniya=narushenie.nomer_narusheniya
GROUP BY (lichniy_nomer))t1))

По задумке, данный запрос должен возвращать личный номер (исходя из максимальной суммы). Однако появляется ошибка #1248 - Every derived table must have its own alias. Как исправить - не могу понять.
...
Рейтинг: 0 / 0
ошибка #1248 - Every derived table must have its own alias
    #38825279
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)'sum' - неправильно, правильно `sum`
2)где групбай? точнее, где два групбая?
3)хэвинг макс(сум)=личный_номер? нет, правда? что вы вообще пытаетесь выбрать? если выбор макимальных/минимальных значений в группах, так на эту тему фак есть прямо в этом разделе.
...
Рейтинг: 0 / 0
ошибка #1248 - Every derived table must have its own alias
    #38825302
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевести сообщение об ошибке на русский язык пробовали?
Каждый подзапрос в секции FROM должен иметь свой алиас. Причем, желательно, уникальный в рамках всего запроса.

А если запрос нормально оформить, то становится видно, что в нем много лишнего и неправильного. Например, какой смысл считать MAX(sum) во второй половине запроса, если эта величина все равно никак не используется?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SELECT lichniy_nomer, MAX(sum)
FROM
(
  SELECT lichniy_nomer, SUM(narushenie.shtraf) 'sum'
  FROM protocol, narushenie
  WHERE protocol.nomer_narusheniya=narushenie.nomer_narusheniya
  GROUP BY lichniy_nomer
) t1
HAVING MAX(sum) =
  (
    SELECT lichniy_nomer 
    FROM
    (
      SELECT lichniy_nomer, MAX(sum)
      FROM
      (
        SELECT lichniy_nomer, SUM(narushenie.shtraf) 'sum'
        FROM protocol, narushenie
        WHERE protocol.nomer_narusheniya=narushenie.nomer_narusheniya
        GROUP BY lichniy_nomer
      ) t1
    )
  )
...
Рейтинг: 0 / 0
ошибка #1248 - Every derived table must have its own alias
    #38825309
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirчто вы вообще пытаетесь выбрать?У меня стойкое ощущение, что соседний топик помогите допилить!!! ровно про то же самое.
...
Рейтинг: 0 / 0
ошибка #1248 - Every derived table must have its own alias
    #38825313
JeStone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksofttanglirчто вы вообще пытаетесь выбрать?У меня стойкое ощущение, что соседний топик помогите допилить!!! ровно про то же самое.
Так оно и есть )
...
Рейтинг: 0 / 0
ошибка #1248 - Every derived table must have its own alias
    #38825326
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT lichniy_nomer 
FROM (
 SELECT lichniy_nomer, MAX(sum)
 FROM  (
   SELECT lichniy_nomer, SUM(narushenie.shtraf) 'sum'
   FROM protocol, narushenie
   WHERE protocol.nomer_narusheniya=narushenie.nomer_narusheniya
   GROUP BY lichniy_nomer
 ) t1
 вот тут должен быть групбай, иначе мы получаем случайную запись 
) а вот тут - недостающий алиас
...
Рейтинг: 0 / 0
ошибка #1248 - Every derived table must have its own alias
    #38825371
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
Код: sql
1.
вот тут должен быть групбай, иначе мы получаем случайную запись 

Тут весь подзапрос (именно на этом уровне) не нужен, не то что групп бай :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ошибка #1248 - Every derived table must have its own alias
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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