powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос выполняется в Access, не выполняется в MySQL QueryBrowser
10 сообщений из 10, страница 1 из 1
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304322
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дано: Debian, БД MySQL
Схема данных см рисунок
Задача - выбрать запросом адреса объектов, по которым есть данные за сегодняшний день.
Если использовать в Access связанные таблицы MySQL через ODBC, то запрос выполняется,
если то же самое сделать в MySQL QueryBrowser 1.2.12, выдает ошибку "The Query coud not be executed"
Подскажите уважаемые профессионалы, в чем проблема?
Запрос Access:
Код: plsql
1.
2.
3.
4.
5.
SELECT spr_address.adr
FROM spr_arj_naim INNER JOIN (spr_spec_oper INNER JOIN ((spr_adapter_el INNER JOIN spr_address ON spr_adapter_el.addres_uid = spr_address.uid) INNER JOIN spr_tekons_el ON spr_adapter_el.uid = spr_tekons_el.adapter_uid) ON spr_spec_oper.uid_tekon = spr_tekons_el.uid) ON spr_arj_naim.uid = spr_spec_oper.uid_naim_arj
GROUP BY spr_address.adr, spr_adapter_el.tel_number, spr_adapter_el.opros, Day([last_date])
HAVING (((spr_adapter_el.opros)=1) AND ((Day([last_date]))=Day(Now())))
ORDER BY spr_address.adr;



Запрос MySQL QueryBrowser 1.2.12:
Код: plsql
1.
SELECT spr_address.adr FROM spr_arj_naim INNER JOIN (spr_spec_oper INNER JOIN ((spr_adapter_el INNER JOIN spr_address ON spr_adapter_el.addres_uid=spr_address.uid) INNER JOIN spr_tekons_el ON spr_adapter_el.uid=spr_tekons_el.adapter_uid) ON spr_spec_oper.uid_tekon=spr_tekons_el.uid) ON spr_arj_naim.uid=spr_spec_oper.uid_naim_arj GROUP BY spr_address.adr,spr_adapter_el.tel_number,spr_adapter_el.opros,Day(spr_spec_oper.last_date) HAVING (((spr_adapter_el.opros)=1) AND ((Day(spr_spec_oper.last_date))=Day(Now()))) ORDER BY spr_address.adr
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304333
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если запустить с консоли MySQL, то:
Код: sql
1.
2.
3.
4.
5.
SELECT spr_address.adr FROM spr_arj_naim INNER JOIN (spr_spec_oper INNER JOIN ((spr_adapter_el INNER JOIN spr_address ON
 spr_adapter_el.addres_uid=spr_address.uid) INNER JOIN spr_tekons_el ON spr_adapter_el.uid=spr_tekons_el.adapter_uid) ON
 spr_spec_oper.uid_tekon=spr_tekons_el.uid) ON spr_arj_naim.uid=spr_spec_oper.uid_naim_arj GROUP BY
 spr_address.adr,spr_adapter_el.tel_number,spr_adapter_el.opros,Day(spr_spec_oper.last_date) HAVING (((spr_adapter_el.opros)=1) AND ((Day(spr_spec_oper.last_date))=Day(Now()))) ORDER BY spr_address.adr;
ERROR 1054 (42S22): Неизвестный столбец 'spr_spec_oper.last_date' в 'having clause'
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304340
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.PMySQL QueryBrowser 1.2.12Зачем вам это старье? Ему уж лет 10, наверное.
MySQL Query Browser уже давно не поддерживается. Возьмите хотя бы MySQL Workbench .


Mari.Pвыдает ошибку "The Query coud not be executed"Это полное сообщение об ошибке?
Сам MySQL таких ошибок не выдает.
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304344
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Сам MySQL, если запускать непосредственно с консоли в debian выдает ошибку
Код: plsql
1.
ERROR 1054 (42S22): Неизвестный столбец 'spr_spec_oper.last_date' в 'having clause'
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304345
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.P,

Точная версия MySQL?
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304350
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.P,

Не пойму, зачем в этом запросе вообще секция HAVING?
Почему бы не перенести эти условия в секцию WHERE?

И зачем в GROUP BY поле spr_adapter_el.tel_number, которое не используется для вывода, и поле spr_adapter_el.opros, которое должно быть равно константе ?
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304351
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,
Debian Jessie 8.5
mysql server 5.5.50-0+deb8u1
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304358
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftПочему бы не перенести эти условия в секцию WHERE?

А как перенести? вроде итоговые операции это HAVING? Простите безграмотность.
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304363
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.PmiksoftПочему бы не перенести эти условия в секцию WHERE?

А как перенести? вроде итоговые операции это HAVING? Простите безграмотность.В HAVING проверяются условия после группировки. Но условия в вашем запросе не зависят от группировки и могут быть поверены в WHERE.
Примерно так:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT spr_address.adr
FROM spr_arj_naim INNER JOIN (spr_spec_oper INNER JOIN ((spr_adapter_el INNER JOIN spr_address ON
 spr_adapter_el.addres_uid=spr_address.uid) INNER JOIN spr_tekons_el ON spr_adapter_el.uid=spr_tekons_el.adapter_uid) ON
 spr_spec_oper.uid_tekon=spr_tekons_el.uid) ON spr_arj_naim.uid=spr_spec_oper.uid_naim_arj
WHERE spr_adapter_el.opros=1 AND Day(spr_spec_oper.last_date)=Day(Now())
GROUP BY spr_address.adr, spr_adapter_el.tel_number, Day(spr_spec_oper.last_date)

ORDER BY не нужен, сортировка и так будет из-за GROUP BY.
Еще хорошо бы JOIN-ы распутать, но тут аккуратно надо, чтобы не ошибиться.
...
Рейтинг: 0 / 0
запрос выполняется в Access, не выполняется в MySQL QueryBrowser
    #39304372
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,
Спасибо вам огромное. Избаловалась конструкторами, надо вручную все писать, тогда ума прибавится...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос выполняется в Access, не выполняется в MySQL QueryBrowser
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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