powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Помогите с запросом в Paradox
7 сообщений из 7, страница 1 из 1
Помогите с запросом в Paradox
    #34402266
Фотография Spot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В DBD делаю запрос (БД Paradox)
Код: plaintext
1.
2.
3.
4.
5.
select rayon
from
(select a.f_4 as rayon, count(a.f_4) as kol
from Prefix a
group by rayon
order by kol desc)
Выходит ошибка
Код: plaintext
Invalid use of Keyvord
Внутренний подзапрос работает, выводит
rayon kol118 3167114 994121 43148 37115 18126 16133 13147 9142 8120 6132 4116 3122 3146 2144 2143 2134 2137 2131 2128 2139 1140 1141 1136 1135 1145 1 0
1. Почему первый запрос не выполняется?
2. Как получить район, у которого количество максимальное?
...
Рейтинг: 0 / 0
Помогите с запросом в Paradox
    #34403418
paradox_addict
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я помню надо сохранить внутренний запрос в *.sql файл,
в доке должно быть про это написано.
...
Рейтинг: 0 / 0
Помогите с запросом в Paradox
    #34405155
ЮВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpotВ DBD делаю запрос (БД Paradox)
Код: plaintext
1.
2.
3.
4.
5.
select rayon
from
(select a.f_4 as rayon, count(a.f_4) as kol
from Prefix a
group by rayon
order by kol desc)
Выходит ошибка
Код: plaintext
Invalid use of Keyvord

1. Почему первый запрос не выполняется?



Ситуация, возможно, аналогична СУБД ЛИНТЕР.
Там тоже подзапрос отдельно будет выполняться, но в паре с основным запросом будет фиксироваться ошибка, т. к. на подзапросы есть ограничения, в частности, нельзя использовать опции ORDER BY, FETCH FIRST, LIMIT и некоторые др.
...
Рейтинг: 0 / 0
Помогите с запросом в Paradox
    #34405355
ЮВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpotВ DBD делаю запрос (БД Paradox)
Код: plaintext
1.
2.
3.
4.
5.
select rayon
from
(select a.f_4 as rayon, count(a.f_4) as kol
from Prefix a
group by rayon
order by kol desc)
Выходит ошибка
Код: plaintext
Invalid use of Keyvord
Внутренний подзапрос работает, выводит
2. Как получить район, у которого количество максимальное?


Наверное, надо выбрать первую запись полученной в подзапросе выборки (на примере СУБД ЛИНТЕР):
select a.f_4 as rayon, count(a.f_4) as kol
from Prefix a
group by rayon
order by kol desc fetch first 1;
...
Рейтинг: 0 / 0
Помогите с запросом в Paradox
    #34405384
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Spot
1. Почему первый запрос не выполняется?
2. Как получить район, у которого количество максимальное?
1) ORDER BY в подзапросе не всякая СУБД понимает
2) Попробуй вот так (к сожалению, не везде работает):
Код: plaintext
1.
2.
3.
select a.f_4 as rayon, count(a.f_4) as kol
from Prefix a
group by rayon
having count(a.f_4) = (select max(count(a.f_4)) from Prefix a group by rayon) 
...
Рейтинг: 0 / 0
Помогите с запросом в Paradox
    #34407681
Фотография Spot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 запрос не работает.
Почему в Paradox-е запросы с вложенными подзапросами работают очень медленно?
Например, такой запрос у меня выполняется 5 минут (в каждой таблице около 10 тыс. записей, Комп P-IV 3000, ОЗУ 512)
Код: plaintext
1.
2.
3.
update object_zu_18 a
set a.f_18_6=(select b.f_20_8
from Object_zu_20 b
where b.id=a.id)
Как-нибудь можно сократить время выполнения?
...
Рейтинг: 0 / 0
Помогите с запросом в Paradox
    #34409717
ЮВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpotПочему в Paradox-е запросы с вложенными подзапросами работают очень медленно?
Например, такой запрос у меня выполняется 5 минут (в каждой таблице около 10 тыс. записей, Комп P-IV 3000, ОЗУ 512)
Код: plaintext
1.
2.
3.
update object_zu_18 a
set a.f_18_6=(select b.f_20_8
from Object_zu_20 b
where b.id=a.id)

Здесь сначала из первой таблицы выбираются значения a.id (скажем, их 10 тыс., и для каждого найденного a.id каждый раз выполняется подзапрос, скажем, поиск тоже из 10 тыс . записей, возможно даже без использования индекса). Перемножим первые 10 тыс. на вторые 10 тыс. получим большой объем работы.

По-видимому, надо перестраивать запрос.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Помогите с запросом в Paradox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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