@finesoft2009
Администратор сервера http://fns.kz/

В чем ошибка SQL запроса?

В чем ошибка SQL запроса?
SELECT calldate,
src,
dst,
dcontext,
channel,
dstchannel,
lastapp,
lastdata,
duration,
billsec,
MIN(uniqueid) as uniqueid1,
IF((SELECT disposition FROM cdr WHERE uniqueid = uniqueid)='NO ANSWER','NO ANSWER','ANSWERED') as disposition,
amaflags,
accountcode,
userfield
FROM cdr WHERE src='81113331110'
GROUP BY calldate ORDER BY uniqueid DESC


Ошибка: #1247 - Reference 'uniqueidS' not supported (reference to group function)
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ответы на вопрос 3
zoroda
@zoroda
Необычный Fullstack
Не ясно, что вы пытаетесь вывести в выражении
IF((SELECT disposition FROM cdr WHERE uniqueid = uniqueid)='NO ANSWER','NO ANSWER','ANSWERED') as disposition
В остальном, если я правильно понял замысел автора запроса, должно работать так:
SELECT calldate,
src,
dst,
dcontext,
channel,
dstchannel,
lastapp,
lastdata,
duration,
billsec,
MIN(uniqueid) as uniqueid1,
amaflags,
accountcode,
userfield
FROM cdr WHERE src='81113331110'
GROUP BY calldate,
src,
dst,
dcontext,
channel,
dstchannel,
lastapp,
lastdata,
duration,
billsec,
amaflags,
accountcode,
userfield
ORDER BY  (MIN(uniqueid)) DESC
Ответ написан
Комментировать
Flashter
@Flashter
Учусь программировать
Проблема здесь
ORDER BY uniqueid DESC
Вы не можете упорядочить что-либо, что определено как псевдоним.
Попробуйте
ORDER BY (MIN(uniqueid)) DESC
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Подозреваю, что из-за MIN(uniqueid) ... ORDER BY uniqueid
Попробуйте убрать сортировку, или сортировать по uniqueid1. Если дело действительно в этом, можно обернуть запрос в еще один SELECT и уже в нем сделать сортировку.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы