Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
Вечер добрый! возможно этот вопрос уже поднимался на форуме, но мой пытливый ум не нашел такой темы.
Суть вопроса - в базе Access существует запрос на объединение который делает выборку из ранее созданных запросов.
Вопрос - до какой степени это правильно - делать запрос из запросов? Запросы-исходники делают выборку из большой таблицы и с увеличением числа записей в ней запрос отрабатывается все дольше и дольше.
Решит ли проблему скорости выполнения запроса если я буду за исходники брать саму таблицу?

И еще вопрос - как получить значения поля из записи, следующей за текущей?
К примеру - таблица персонала, отсортирована по дате рождения. И вот чтобы в выборке был человек, его дата рождения и к примеру фамилия человека, д.р. которого будет следующим (в таблице это следующая запись).
Спасибо.
2 мар 18, 20:49    [21233619]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
MaxFM
Вечер добрый! возможно этот вопрос уже поднимался на форуме, но мой пытливый ум не нашел такой темы.
Суть вопроса - в базе Access существует запрос на объединение который делает выборку из ранее созданных запросов.
Вопрос - до какой степени это правильно - делать запрос из запросов? Запросы-исходники делают выборку из большой таблицы и с увеличением числа записей в ней запрос отрабатывается все дольше и дольше.
Решит ли проблему скорости выполнения запроса если я буду за исходники брать саму таблицу?

И еще вопрос - как получить значения поля из записи, следующей за текущей?
К примеру - таблица персонала, отсортирована по дате рождения. И вот чтобы в выборке был человек, его дата рождения и к примеру фамилия человека, д.р. которого будет следующим (в таблице это следующая запись).
Спасибо.

1. В общем случае, наврядли решит. Поищите на форуме топики про оптимизацию скорости выполнения запросов.
2.
SELECT zz.фио, zz.др, (select top 1 фио from z1 where др>zz.др) AS фио1
FROM t AS zz order by zz.др;
2 мар 18, 22:36    [21233848]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
MaxFM,
fix
2.
SELECT zz.фио, zz.др, (select top 1 фио from t where др>zz.др ORDER BY др) AS фио1
FROM t AS zz
ORDER BY zz.др;
2 мар 18, 22:48    [21233877]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
MaxFM,
fix
2.
SELECT zz.фио, zz.др, (select top 1 фио from t where др>zz.др ORDER BY др) AS фио1
FROM t AS zz
ORDER BY zz.др;

Спасибо большое, проблему решил!
а по первому вопросу - нет такой зависимости в скорости выполнения запроса если его делать из таблиц или запросов?
3 мар 18, 21:25    [21235259]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
MaxFM
...а по первому вопросу - нет такой зависимости в скорости выполнения запроса если его делать из таблиц или запросов?

В общем случае - нет
4 мар 18, 11:23    [21235562]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
MaxFM,
fix
2.
SELECT zz.фио, zz.др, (select top 1 фио from t where др>zz.др ORDER BY др) AS фио1
FROM t AS zz
ORDER BY zz.др;

такой вариант не правильный. слово ORDER BY в подчиненке не должно быть.(почитал мануал)
и в связи с этим ответил сам на свой второй вопрос - чтобы отсортировать таблицу для подзапроса просто сделал запрос всю таблицу и только сделал сортировку. этот запрос взял за основу для подзапроса... В итоге получилось что такой запрос выполняется на много дольше чем запрос, основанный напрямую от таблицы. так что теперь буду все запросы, где в основе стоят другие запросы,переделывать чтобы там были таблицы.
5 мар 18, 14:20    [21237827]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
мануал
Guest
MaxFM
слово ORDER BY в подчиненке не должно быть.(почитал мануал)
ссылочку не дадите?
5 мар 18, 14:53    [21237979]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
MaxFM
guest_rusimport
MaxFM,
fix
2.
SELECT zz.фио, zz.др, (select top 1 фио from t where др>zz.др ORDER BY др) AS фио1
FROM t AS zz
ORDER BY zz.др;

такой вариант не правильный. слово ORDER BY в подчиненке не должно быть.(почитал мануал)
и в связи с этим ответил сам на свой второй вопрос - чтобы отсортировать таблицу для подзапроса просто сделал запрос всю таблицу и только сделал сортировку. этот запрос взял за основу для подзапроса... В итоге получилось что такой запрос выполняется на много дольше чем запрос, основанный напрямую от таблицы. так что теперь буду все запросы, где в основе стоят другие запросы,переделывать чтобы там были таблицы.

Вам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова
5 мар 18, 20:47    [21239003]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
Вам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова


Это по поводу order by. Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос - увидите какая выйдет ошибка.
По поводу скорости - mdb выложить не могу, сейчас попробую что нибудь искусственно создать если у Вас не получается на своих БД это проверить.
6 мар 18, 20:21    [21241683]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
__Michelle
Member

Откуда:
Сообщений: 2914
MaxFM 
Это по поводу order by.
Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос -
увидите какая выйдет ошибка.
Зачем же верить-не верить?
У меня работало и работает, ошибок нет.
А какая должна выйти ошибка?
6 мар 18, 20:32    [21241732]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
MaxFM
guest_rusimport
Вам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова


Это по поводу order by. Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос - увидите какая выйдет ошибка.
По поводу скорости - mdb выложить не могу, сейчас попробую что нибудь искусственно создать если у Вас не получается на своих БД это проверить.

Мне нет такой необходимости, что-то проверять. Уже проверено перепроверено. Всё работает, да, и должно работать. И про скорость выполнения - аналогичная ситуация. Поэтому и удивляет ваша позиция. Не я первый, прошу привести ссылку на то, что вы там вычитали про order by в подзапросах, и привести пример вашей БД, на основании которой вы сделали все эти выводы (в том числе со скоростью выполнения запросов). Смутно подозреваю, что вы делаете что-то не так.
6 мар 18, 21:29    [21241864]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
Вам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова


Это по поводу order by. Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос - увидите какая выйдет ошибка.
По поводу скорости - mdb выложить не могу, сейчас попробую что нибудь искусственно создать если у Вас не получается на своих БД это проверить.
6 мар 18, 21:52    [21241909]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
Вам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова

http://life-prog.ru/1_7427_podchinennie-zaprosi-podzaprosi.html
Это по поводу order by. Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос - увидите какая выйдет ошибка.
По поводу скорости - mdb выложить не могу, сейчас попробую что нибудь искусственно создать если у Вас не получается на своих БД это проверить.
6 мар 18, 21:53    [21241911]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
MaxFM
guest_rusimport
Вам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова

http://life-prog.ru/1_7427_podchinennie-zaprosi-podzaprosi.html

ленивый ты, друг... на, поизучай на досуге, а заодно и скрин ошибки приведи, если таковая будет (в чём я сильно сомневаюсь... более ты мне не интересен... продолжай изучать сомнительные сайты)

К сообщению приложен файл (db56.zip - 9Kb) cкачать
6 мар 18, 22:18    [21241981]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
Как просили. Сделал из БД "Борей"
Запрос1 - рабочий быстрый
Запрос2 - не работает по описанной выше причине
Запрос3 - работает но медленно

http://my-files.ru/hfzn7w
6 мар 18, 22:52    [21242037]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
ленивый ты, друг... на, поизучай на досуге, а заодно и скрин ошибки приведи, если таковая будет (в чём я сильно сомневаюсь... более ты мне не интересен... продолжай изучать сомнительные сайты)

Все также как у меня в примере но тут все работает а у меня нет.
6 мар 18, 22:56    [21242043]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
MaxFM
Как просили...

Просили в mdb... Ты ещё и не внимательный
6 мар 18, 23:04    [21242050]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
MaxFM
Как просили...

Просили в mdb... Ты ещё и не внимательный

Была не просьба а пожелание. Конкретнее выражайтесь, внимательный
6 мар 18, 23:12    [21242056]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
4z4r
Member

Откуда: localhost
Сообщений: 29
Я решал проблему тормозов в последовательности запросов через промежуточные таблицы (инсерты вместо селектов). Это хорошо помогало в скорости работы, особенно если приходилось объединять тяжёлые запросы с кучей агрегаций.
Но не очень удобно - приходилось городить дополнительные запросы очистки промежуточных таблиц, а потом или вручную их запускать перед выборкой, или прописывать последовательность запросов через вба.
6 мар 18, 23:45    [21242078]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
MaxFM
guest_rusimport
пропущено...

Просили в mdb... Ты ещё и не внимательный

Была не просьба а пожелание. Конкретнее выражайтесь, внимательный

Оооо, да, ты ещё и с русским не дружишь?! Печалька совсем. Просьба и пожелание - это синонимы.
Синонимы к слову "просьба"
6 мар 18, 23:47    [21242082]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
4z4r
Member

Откуда: localhost
Сообщений: 29
guest_rusimport
Просили в mdb...
кто-то в 2003 офисе всё ещё живёт, ничего себе
6 мар 18, 23:50    [21242084]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
guest_rusimport
Guest
4z4r
guest_rusimport
Просили в mdb...
кто-то в 2003 офисе всё ещё живёт, ничего себе

Это в продолжение заинтересовавшего вас вопроса в ПТ - "Нужно ли изменять жене?" ?
7 мар 18, 00:01    [21242089]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
Tarasios
Member

Откуда: Украина
Сообщений: 350
4z4r, если тот же 2003-й офис (а именно акс) успешно справляется с текущим набором задач - то смысл переходить на новое только ради самого факта перехода? Движуха чисто ради движухи суть есть голимые понты )
7 мар 18, 00:22    [21242098]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
MaxFM
пропущено...

Была не просьба а пожелание. Конкретнее выражайтесь, внимательный

Оооо, да, ты ещё и с русским не дружишь?! Печалька совсем. Просьба и пожелание - это синонимы.
Синонимы к слову "просьба"

Давайте не начинайте тут бабский чат про то или это. Язвите в другом месте. Вопрос по существу.
Вы мою БД смогли открыть или проблемы с 2003 офисом не позволяют?
7 мар 18, 00:59    [21242117]     Ответить | Цитировать Сообщить модератору
 Re: Создание запроса из запросов  [new]
MaxFM
Member

Откуда:
Сообщений: 103
guest_rusimport
MaxFM
пропущено...

Была не просьба а пожелание. Конкретнее выражайтесь, внимательный

Оооо, да, ты ещё и с русским не дружишь?! Печалька совсем. Просьба и пожелание - это синонимы.
Синонимы к слову "просьба"

синонимы к слову "желательно". - это как Вы выражались.
7 мар 18, 01:02    [21242123]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить