powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание запроса из запросов
49 сообщений из 49, показаны все 2 страниц
Создание запроса из запросов
    #39609844
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вечер добрый! возможно этот вопрос уже поднимался на форуме, но мой пытливый ум не нашел такой темы.
Суть вопроса - в базе Access существует запрос на объединение который делает выборку из ранее созданных запросов.
Вопрос - до какой степени это правильно - делать запрос из запросов? Запросы-исходники делают выборку из большой таблицы и с увеличением числа записей в ней запрос отрабатывается все дольше и дольше.
Решит ли проблему скорости выполнения запроса если я буду за исходники брать саму таблицу?

И еще вопрос - как получить значения поля из записи, следующей за текущей?
К примеру - таблица персонала, отсортирована по дате рождения. И вот чтобы в выборке был человек, его дата рождения и к примеру фамилия человека, д.р. которого будет следующим (в таблице это следующая запись).
Спасибо.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39609861
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMВечер добрый! возможно этот вопрос уже поднимался на форуме, но мой пытливый ум не нашел такой темы.
Суть вопроса - в базе Access существует запрос на объединение который делает выборку из ранее созданных запросов.
Вопрос - до какой степени это правильно - делать запрос из запросов? Запросы-исходники делают выборку из большой таблицы и с увеличением числа записей в ней запрос отрабатывается все дольше и дольше.
Решит ли проблему скорости выполнения запроса если я буду за исходники брать саму таблицу?

И еще вопрос - как получить значения поля из записи, следующей за текущей?
К примеру - таблица персонала, отсортирована по дате рождения. И вот чтобы в выборке был человек, его дата рождения и к примеру фамилия человека, д.р. которого будет следующим (в таблице это следующая запись).
Спасибо.
1. В общем случае, наврядли решит. Поищите на форуме топики про оптимизацию скорости выполнения запросов.
2.
Код: sql
1.
2.
SELECT zz.фио, zz.др, (select top 1 фио from z1 where др>zz.др) AS фио1
FROM t AS zz order by zz.др;
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39609864
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFM,
fix
2.
Код: sql
1.
2.
3.
SELECT zz.фио, zz.др, (select top 1 фио from t where др>zz.др ORDER BY др) AS фио1
FROM t AS zz
ORDER BY zz.др;
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39610101
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFM,
fix
2.
Код: sql
1.
2.
3.
SELECT zz.фио, zz.др, (select top 1 фио from t where др>zz.др ORDER BY др) AS фио1
FROM t AS zz
ORDER BY zz.др;


Спасибо большое, проблему решил!
а по первому вопросу - нет такой зависимости в скорости выполнения запроса если его делать из таблиц или запросов?
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39610168
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFM...а по первому вопросу - нет такой зависимости в скорости выполнения запроса если его делать из таблиц или запросов?
В общем случае - нет
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39610661
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFM,
fix
2.
Код: sql
1.
2.
3.
SELECT zz.фио, zz.др, (select top 1 фио from t where др>zz.др ORDER BY др) AS фио1
FROM t AS zz
ORDER BY zz.др;


такой вариант не правильный. слово ORDER BY в подчиненке не должно быть.(почитал мануал)
и в связи с этим ответил сам на свой второй вопрос - чтобы отсортировать таблицу для подзапроса просто сделал запрос всю таблицу и только сделал сортировку. этот запрос взял за основу для подзапроса... В итоге получилось что такой запрос выполняется на много дольше чем запрос, основанный напрямую от таблицы. так что теперь буду все запросы, где в основе стоят другие запросы,переделывать чтобы там были таблицы.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39610688
мануал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMслово ORDER BY в подчиненке не должно быть.(почитал мануал)ссылочку не дадите?
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39610887
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMguest_rusimportMaxFM,
fix
2.
Код: sql
1.
2.
3.
SELECT zz.фио, zz.др, (select top 1 фио from t where др>zz.др ORDER BY др) AS фио1
FROM t AS zz
ORDER BY zz.др;


такой вариант не правильный. слово ORDER BY в подчиненке не должно быть.(почитал мануал)
и в связи с этим ответил сам на свой второй вопрос - чтобы отсортировать таблицу для подзапроса просто сделал запрос всю таблицу и только сделал сортировку. этот запрос взял за основу для подзапроса... В итоге получилось что такой запрос выполняется на много дольше чем запрос, основанный напрямую от таблицы. так что теперь буду все запросы, где в основе стоят другие запросы,переделывать чтобы там были таблицы.
Вам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611477
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportВам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова

Это по поводу order by. Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос - увидите какая выйдет ошибка.
По поводу скорости - mdb выложить не могу, сейчас попробую что нибудь искусственно создать если у Вас не получается на своих БД это проверить.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611488
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM Это по поводу order by.
Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос -
увидите какая выйдет ошибка.
Зачем же верить-не верить?
У меня работало и работает, ошибок нет.
А какая должна выйти ошибка?
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611515
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMguest_rusimportВам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова

Это по поводу order by. Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос - увидите какая выйдет ошибка.
По поводу скорости - mdb выложить не могу, сейчас попробую что нибудь искусственно создать если у Вас не получается на своих БД это проверить.
Мне нет такой необходимости, что-то проверять. Уже проверено перепроверено. Всё работает, да, и должно работать. И про скорость выполнения - аналогичная ситуация. Поэтому и удивляет ваша позиция. Не я первый, прошу привести ссылку на то, что вы там вычитали про order by в подзапросах, и привести пример вашей БД, на основании которой вы сделали все эти выводы (в том числе со скоростью выполнения запросов). Смутно подозреваю, что вы делаете что-то не так.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611524
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportВам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова

Это по поводу order by. Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос - увидите какая выйдет ошибка.
По поводу скорости - mdb выложить не могу, сейчас попробую что нибудь искусственно создать если у Вас не получается на своих БД это проверить.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611525
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportВам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова
http://life-prog.ru/1_7427_podchinennie-zaprosi-podzaprosi.html
Это по поводу order by. Если до сих пор не верите - попробуйте сами вставить оператор order by в подзапрос - увидите какая выйдет ошибка.
По поводу скорости - mdb выложить не могу, сейчас попробую что нибудь искусственно создать если у Вас не получается на своих БД это проверить.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611541
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMguest_rusimportВам осталось выложить все доказательства своих слов (ссылки и пример, в mdb желательно), дабы и другие читающие этот топик уверовали в ваши слова :), а пока что это только голые слова
http://life-prog.ru/1_7427_podchinennie-zaprosi-podzaprosi.html

ленивый ты, друг... на, поизучай на досуге, а заодно и скрин ошибки приведи, если таковая будет (в чём я сильно сомневаюсь... более ты мне не интересен... продолжай изучать сомнительные сайты)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611548
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как просили. Сделал из БД "Борей"
Запрос1 - рабочий быстрый
Запрос2 - не работает по описанной выше причине
Запрос3 - работает но медленно

http://my-files.ru/hfzn7w
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611549
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportленивый ты, друг... на, поизучай на досуге, а заодно и скрин ошибки приведи, если таковая будет (в чём я сильно сомневаюсь... более ты мне не интересен... продолжай изучать сомнительные сайты)
Все также как у меня в примере но тут все работает а у меня нет.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611550
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMКак просили...
Просили в mdb... Ты ещё и не внимательный
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611553
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFMКак просили...
Просили в mdb... Ты ещё и не внимательный
Была не просьба а пожелание. Конкретнее выражайтесь, внимательный
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611557
4z4r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я решал проблему тормозов в последовательности запросов через промежуточные таблицы (инсерты вместо селектов). Это хорошо помогало в скорости работы, особенно если приходилось объединять тяжёлые запросы с кучей агрегаций.
Но не очень удобно - приходилось городить дополнительные запросы очистки промежуточных таблиц, а потом или вручную их запускать перед выборкой, или прописывать последовательность запросов через вба.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611558
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMguest_rusimportпропущено...

Просили в mdb... Ты ещё и не внимательный
Была не просьба а пожелание. Конкретнее выражайтесь, внимательный
Оооо, да, ты ещё и с русским не дружишь?! Печалька совсем. Просьба и пожелание - это синонимы.
Синонимы к слову "просьба"
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611560
4z4r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimportПросили в mdb...кто-то в 2003 офисе всё ещё живёт, ничего себе
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611561
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4z4rguest_rusimportПросили в mdb...кто-то в 2003 офисе всё ещё живёт, ничего себе
Это в продолжение заинтересовавшего вас вопроса в ПТ - "Нужно ли изменять жене?" ?
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611564
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4z4r, если тот же 2003-й офис (а именно акс) успешно справляется с текущим набором задач - то смысл переходить на новое только ради самого факта перехода? Движуха чисто ради движухи суть есть голимые понты )
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611567
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFMпропущено...

Была не просьба а пожелание. Конкретнее выражайтесь, внимательный
Оооо, да, ты ещё и с русским не дружишь?! Печалька совсем. Просьба и пожелание - это синонимы.
Синонимы к слову "просьба"
Давайте не начинайте тут бабский чат про то или это. Язвите в другом месте. Вопрос по существу.
Вы мою БД смогли открыть или проблемы с 2003 офисом не позволяют?
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611570
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFMпропущено...

Была не просьба а пожелание. Конкретнее выражайтесь, внимательный
Оооо, да, ты ещё и с русским не дружишь?! Печалька совсем. Просьба и пожелание - это синонимы.
Синонимы к слову "просьба"
синонимы к слову "желательно" . - это как Вы выражались.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611573
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tarasios....
Движуха чисто ради движухи суть есть голимые понты )

Голимые понты - частое надоедливое хвастовство.
Дешевые понты - купил айфон в кредит , ем доширак.
Дорогие понты - устроил гонку на невском на своем ламборджини мерчеладо по встречной полосе.
Беспонтовый - просто ем доширак каждый день.


Уникальное слово понт, как не крути, заколдованное)))


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

Вы частично правы, так как в СУБД с большим набором данных действительно существуют специальные таблицы, в которые собирают итоговые значения/срезы данных для отчетов из всех необходимых таблиц базы. В одну таблицу "принудительно" вставляют нужную информацию из других таблиц при помощи INSERT , как вам и сказали тут , а потом на основании этой одной таблицы и пилятся все необходимые отчеты. Этот подход накопления с последующей выборкой и называется собственно OLAP.

Попробуйте прикоснуться к прекрасному и создать некий аналог данной технологии), сгружайте данные во временную таблицу и нарезайте из неё необходимые для вас запросы/отчеты. Только после использования данных не забудьте очистить временную таблицу. Это непопулярное решение для аксесса с родным Jet SQL, но имеет право на существование. К сожалению в классическом аксессе нет дополнительных инструментов для оптимизации запросов ( кроме ваших мозгов, которые в общем то должны искать решение и в обрезанном аксессовском SQLe:)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611580
4z4r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimportЭто в продолжение заинтересовавшего вас вопроса в ПТ - "Нужно ли изменять жене?" ?Какие тут все дружелюбные :-)

Tarasios4z4r, если тот же 2003-й офис (а именно акс) успешно справляется с текущим набором задач - то смысл переходить на новое только ради самого факта перехода? Движуха чисто ради движухи суть есть голимые понты )Сейчас любой аццесс уже устарел, но 2007 выглядел заметно бодрее 2003-го.
Такое проще было продавать, плюс появились всякие фишки, вроде многозначных полей; наконец, независимость от языка системы (была проблема, что база, созданная в русском 2003 офисе не открывалась в английском 2003 офисе) и что-то там ещё, не помню уже.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611641
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСейчас любой аццесс уже устарел,
В том то и дело, что достойной замены нет.
Недавно шерстил интернет на эту тему.
Наиболее подходит в качестве замены FileMaker. Но у него свои заморочки. Быстрая разработка, куча макросов, но шаг вправо, шаг влево от "политики партии" и всё.
Вазы из Open Office и Libre Office детские игрушки по сравнению с Access. Таблицы , запросы, формы, отчёты - да, есть. Но очень слабенькие. И отсутствует язык программирования типа VBA. Законченную вещь на них не сделаешь. Остальные вещи или заброшены или поддерживаются энтузиастами.
Есть неплохие отечественные разработки. Но их тянут одиночки на собственный страх и риск. На голом желании. И скорее всего они зачахнут, как и другие похожие разработки. До возможностей Access им ещё расти и расти.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611646
4z4r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
а какие возможности для вас критичны?
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611651
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFM... Язвите в другом месте. Вопрос по существу.
...
Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611743
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4z4rJoss,
а какие возможности для вас критичны? Получить законченный продукт. Программу со всеми проверками, обработками ошибок, приятным интерфейсом, простотой установки, лёгкостью модернизации. Масштабируемость в небольших пределах.

Такое можно получить на основе Delphi + SQLite или подобных сочетаний.

Ну, а access тут "всё в одном"
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612025
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
4z4rguest_rusimportПросили в mdb...кто-то в 2003 офисе всё ещё живёт, ничего себе
Вы приятно удивитесь , но здесь большая половина сидит на 2003 , а у некоторых еще и 97 имеется. :)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612026
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
4z4r(была проблема, что база, созданная в русском 2003 офисе не открывалась в английском 2003 офисе) и что-то там ещё, не помню уже.
Брехня , все красиво открывается .
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612028
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
guest_rusimport... более ты мне не интересен... продолжай изучать сомнительные сайты)
Первый раз вижу чтоб guest_rusimport вышел из равновесия. :)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612031
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D.BПервый раз вижу чтоб guest_rusimport вышел из равновесия. :)

наверно много женщин, нервничает, завтра трудный день...
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612032
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D.Bguest_rusimport... более ты мне не интересен... продолжай изучать сомнительные сайты)
Первый раз вижу чтоб guest_rusimport вышел из равновесия. :)
Как мне тут сказала жена, луна в это время была без курса... Возраст, даже уже такие астрологические катаклизмы влияют, видимо :)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612073
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFM... Язвите в другом месте. Вопрос по существу.
...
Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb.
http://my-files.ru/mfhtec
наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612074
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss4z4rJoss,
а какие возможности для вас критичны? Получить законченный продукт. Программу со всеми проверками, обработками ошибок, приятным интерфейсом, простотой установки, лёгкостью модернизации. Масштабируемость в небольших пределах.

Такое можно получить на основе Delphi + SQLite или подобных сочетаний.

Ну, а access тут "всё в одном"

мне нужно было чтобы для работы программы не нужно было дополнительных настроек. по моему анализу это может делать только Access. при том на машине даже не обязательно наличие его самого, достаточно других элементов officе чтобы она могла работать.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612076
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMguest_rusimportпропущено...

Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb.
http://my-files.ru/mfhtec
наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся.
При попытках скачки базы все мои браузеры выдают одну и ту же картинку ((
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612077
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFMпропущено...

http://my-files.ru/mfhtec
наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся.
При попытках скачки базы все мои браузеры выдают одну и ту же картинку ((
http://my-files.ru/3ivv3j
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612078
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMguest_rusimportпропущено...

При попытках скачки базы все мои браузеры выдают одну и ту же картинку ((
http://my-files.ru/3ivv3j

тоже не работает.
Вот рабочая, проверил
http://transfiles.ru/uh7hu
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612096
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMMaxFMпропущено...

http://my-files.ru/3ivv3j

тоже не работает.
Вот рабочая, проверил
http://transfiles.ru/uh7hu
Посмотрел. Под впечатлением... Так делать не надо! Почему? - Попробую объяснить попозже, когда найду время и силы. (Если до этого кто-нибудь ещё не поможет)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612325
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFMпропущено...


тоже не работает.
Вот рабочая, проверил
http://transfiles.ru/uh7hu
Посмотрел. Под впечатлением... Так делать не надо! Почему? - Попробую объяснить попозже, когда найду время и силы. (Если до этого кто-нибудь ещё не поможет)
Мдааааа. Звучит как приговор....
Хорошо, жду.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612343
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFMХорошо, жду.

Чего?
1. Запрос "быстрый" и запрос "медленный" как-то сравнивать на скорость не очень, у них столбец Цена2 не совпадает.
2. Запрос "медленный" медленный потому что кривой (по крайней мере с точки зрения Акцесса, которому приходится догадываться, что s - это второй раз та же самая таблица во вложенном запросе), удивительно, что он вообще выдает первую страницу, перехода на последнюю запись можно и не дождаться...
Кривизну медленного запроса подтверждает и усеченная выборка, например в нем отсутствует 77 запись с кодом товара 10.
Если вот это
Код: sql
1.
2.
3.
SELECT s.КодТовара, s.Цена, (select top 1 цена from qv_заказ where Количество>s.количество) AS цена2
FROM Заказано_full AS s
ORDER BY s.Количество;


Заменить на вот это
Код: sql
1.
2.
3.
SELECT s.КодТовара, s.Цена, (SELECT TOP 1 qv_заказ.Цена FROM qv_заказ, Заказано_full AS s WHERE (((qv_заказ.Количество)>[s].[количество]));) AS цена2
FROM Заказано_full AS s
ORDER BY s.Количество;


То "медленный" запрос уже работает быстрее "быстрого" это видно по времени появления общего количества записей (в вашем быстом на моем компе это секунд 5-8, а в новом уже не медленном буквально сразу).
Ну и новый меленный (уже не медленный не теряет записи)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612346
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagMaxFMХорошо, жду.

Чего?
1. Запрос "быстрый" и запрос "медленный" как-то сравнивать на скорость не очень, у них столбец Цена2 не совпадает.
2. Запрос "медленный" медленный потому что кривой (по крайней мере с точки зрения Акцесса, которому приходится догадываться, что s - это второй раз та же самая таблица во вложенном запросе), удивительно, что он вообще выдает первую страницу, перехода на последнюю запись можно и не дождаться...
Кривизну медленного запроса подтверждает и усеченная выборка, например в нем отсутствует 77 запись с кодом товара 10.
Если вот это
Код: sql
1.
2.
3.
SELECT s.КодТовара, s.Цена, (select top 1 цена from qv_заказ where Количество>s.количество) AS цена2
FROM Заказано_full AS s
ORDER BY s.Количество;


Заменить на вот это
Код: sql
1.
2.
3.
SELECT s.КодТовара, s.Цена, (SELECT TOP 1 qv_заказ.Цена FROM qv_заказ, Заказано_full AS s WHERE (((qv_заказ.Количество)>[s].[количество]));) AS цена2
FROM Заказано_full AS s
ORDER BY s.Количество;


То "медленный" запрос уже работает быстрее "быстрого" это видно по времени появления общего количества записей (в вашем быстом на моем компе это секунд 5-8, а в новом уже не медленном буквально сразу).
Ну и новый меленный (уже не медленный не теряет записи)
Действительно работает даже быстрее моего "быстрого" запроса. Спасибо большое!!!! Я не понимаю почему такая конструкция работает быстрее. Это все таки видимо по опыту работы достигается.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612524
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM,

1. "Медленный" запрос потому медленный, что неоднократно выполняется сортировка.
Уберите сортировку из вспомогательного запроса (qv_заказ) и "медленный" запрос будет работать точно так же, как "быстрый".
То есть, разницы между скоростью выборки из запроса и из таблицы нет.

2. "Запрос с ошибкой". Причина ошибки не в том, что в подчиненном запросе стоит ORDER BY, а в том, что этот подчиненный запрос
возвращает значительно больше одной записи.
Без ORDER BY выдергивается первое попавшееся значение, а с ORDER BY выявляется куча равноценных,
среди которых предикат TOP 1 выбор делать не уполномочен и возвращает их все.

3. Какой смысл в подчиненном запросе искать цену партии с бОльшим количеством, если даже привязки к определенному товару нет?
Или смысла запрос не должен был содержать, просто Вы хотели доказать, что ORDER BY все портит?
В таком случае проведите такой эксперимент.
— в таблицу Заказано_full добавьте поле Id (тип счетчик), значения которого станут заведомо уникальны;
— в подчиненном запросе сделайте ORDER BY Id - смысла в запросе от этого не прибавится и не убавится,
но возвращать он станет не более одного значения.
Тут Вы и увидите, что подчиненный запрос работает, невзирая на наличие ORDER BY.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612605
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо __Michelle и vmag! Вернулся с очередных поздравлений женщин, хотел уже было всё подробно расписать, но тут увидел ваши расширенные, исчерпывающие ответы. __Michelle с прошедшим! Удачи и Успехов во всем!
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612609
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

Большое спасибо!!!
Очень приятно получать поздравления сверх положенного срока!!!)))
Спасибо за добрые пожелания!!!
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612712
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, vmag - спасибо за подробные ответы. Все разложили, теперь появилось понимание своих ошибок.
guest_rusimport - спасибо за терпение.

Т.о. я правильно сделаю вывод что создание запросов из запросов не является причиной торможения его выполнения - тормозят не нужные вторичные сортировки и прочее что заставляет делать одну и туже работу системе несколько раз.
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание запроса из запросов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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