Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
genuchka
0 / 0 / 0
Регистрация: 30.08.2012
Сообщений: 14
1

обычный запрос убирает строки. почему?

31.01.2013, 09:32. Просмотров 798. Ответов 13
Метки нет (Все метки)

добрый день!
Есть 2 запроса.
В ЗАПРОСЕ1 есть одинаковые строки, они все нужны.
ЗАПРОС2 содержит некоторые поля из ЗАПРОСА1. И еще в ЗАПРОСЕ2 стоит сортировка по возрастанию. Больше никаких условий, никакого select distinct - ничего, кроме полей и сортировки.
Дальше происходит такой фокус - при запуске ЗАПРОСА2 он отбрасывает одинаковые строки, и оставляет только уникальные строки!!! почему такое может быть??? я ведь ему на это команды не давала, очень простой запрос делала...
чудеса...
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2013, 09:32
Ответы с готовыми решениями:

Функция, которая убирает со строки определенное количество символов
есть слово 'Hello World' нужно убрать с начала этого слова три буквы чтобы получилось 'lo world'....

обычный запрос sql
Дополнительные сведения: Не удалось включить ограничения. По меньшей мере одна строка содержит...

Сделать обычный get запрос
Всем привет, помогите мне сделать обычный get запрос, желательно подробно, я просто ещё новичок и...

PHP обычный запрос
Вот PHP код $finishdaygs = mysql_query("SELECT SUM(summoney) FROM `money` WHERE `idhuman` =...

Почему матрица выводится как обычный массив
//matriza.h #pragma once class matriza { float *b,max,s; int n,m,nom; public: matriza();...

13
Agapov_stas
3342 / 1760 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
Завершенные тесты: 1
31.01.2013, 09:35 2
Вместо INNER JOIN поставить Left Join или Right Join.
Думаю, что из за этого.
0
genuchka
0 / 0 / 0
Регистрация: 30.08.2012
Сообщений: 14
31.01.2013, 09:41  [ТС] 3
там нет даже JOIN. Просто ЗАПРОС2 берет несколько полей из ЗАПРОСА1 - и всё! ну и сортировка стоит

Добавлено через 2 минуты
SQL
1
2
3
SELECT [08в-СправкаУник].СсылКлюч1, [08в-СправкаУник].Имя, [08в-СправкаУник].Ссылочныйключ3, [08в-СправкаУник].ФункционалСфера, [08в-СправкаУник].ДатаДокум, [08в-СправкаУник].РЕЗЕРВ, [08в-СправкаУник].Текстзаголовкадокумента, [08в-СправкаУник].Расхождение
FROM [08в-СправкаУник]
ORDER BY [08в-СправкаУник].СсылКлюч1;
вот такой запрос. При его выполнении выбрасываются строки, которые нужны. Почему выбрасываются непонятно
0
alvk
Эксперт MS Access
6356 / 3964 / 235
Регистрация: 12.08.2011
Сообщений: 11,002
31.01.2013, 09:42 4
Цитата Сообщение от genuchka Посмотреть сообщение
Просто ЗАПРОС2 берет несколько полей из ЗАПРОСА1
Это я так понимаю второй запрос? А первый, т.е. 08в-СправкаУник
0
31.01.2013, 09:42
Agapov_stas
3342 / 1760 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
Завершенные тесты: 1
31.01.2013, 09:45 5
А могли бы выложить(в формате 2003, т.е. mdb) таблицу и два запроса?

P.S. подозреваю еще, что благодаря ORDER BY, записи просто не в том порядке, что в первом запросе, вот Вам и кажется что нет тех записей..Посмотрите на количество возвращаемых записей 1-го и 2-го запросов, они одинаковы?
0
ltv_1953
Эксперт MS Access
14552 / 6332 / 1319
Регистрация: 21.06.2012
Сообщений: 11,582
31.01.2013, 09:49 6
Вы бы часть базы (в формате mdb, желательно) выложили с этими "чудесами", а так, ничего кроме рекомендации сжать и восстановить базу, а если не поможет - создать новую, импортировав все из старой, ничего посоветовать нельзя. В простых запросах такое не попадалось, в сводных - было, но там это и должно быть.
0
genuchka
0 / 0 / 0
Регистрация: 30.08.2012
Сообщений: 14
31.01.2013, 09:55  [ТС] 7
прикладываю файл. Интересует Запрос1 в сравнении с запрососм 08в-Справка. Должно быть одинаковое количество строк.
0
Вложения
Тип файла: rar декабрь - копия - копия.rar (40.8 Кб, 6 просмотров)
genuchka
0 / 0 / 0
Регистрация: 30.08.2012
Сообщений: 14
31.01.2013, 10:06  [ТС] 8
вот еще в формате .mdb
0
Вложения
Тип файла: rar Database1.rar (39.0 Кб, 8 просмотров)
alvk
Эксперт MS Access
6356 / 3964 / 235
Регистрация: 12.08.2011
Сообщений: 11,002
31.01.2013, 10:15 9
1.Файл-сохранить и опубликовать - База данных Акцесс 2002 - 2003
2. Мама дорогая, ваши связи ввергли меня в шок
3. откуда у вас эти данные и почему они в таком виде?
4. Вы номер документа в запрос добавьте и у вас будут 83 записи
5.Всё-таки вы криво переконвертили

1
Вложения
Тип файла: rar декабрь.rar (39.3 Кб, 4 просмотров)
genuchka
0 / 0 / 0
Регистрация: 30.08.2012
Сообщений: 14
31.01.2013, 10:29  [ТС] 10
в том и дело, что мне не надо номер документа. конечно с этим полем будет как надо. Но мне надо без него.
0
ltv_1953
Эксперт MS Access
14552 / 6332 / 1319
Регистрация: 21.06.2012
Сообщений: 11,582
31.01.2013, 10:40 11
Забавно, по всей видимости что-то с оптимизацией выполнения запросов не так. Если создать запросом таблицу - результат выполнения запроса 08в-СправкаУник, то все нормально.
0
Вложения
Тип файла: 7z Database1.7z (24.2 Кб, 3 просмотров)
mobile
Эксперт MS Access
25621 / 13698 / 2945
Регистрация: 28.04.2012
Сообщений: 15,001
31.01.2013, 10:59 12
Лучший ответ Сообщение было отмечено как решение

Решение

genuchka, вот так, с использованием top 100 percent во вложенном запросе, дает все строки. Известный баг
SQL
1
2
3
4
SELECT * FROM
(SELECT top 100 percent [08в-СправкаУник].БЕ, [08в-СправкаУник].СсылКлюч1, [08в-СправкаУник].Имя, [08в-СправкаУник].[Имякредитора-XREF1], [08в-СправкаУник].Ссылочныйключ3, [08в-СправкаУник].ФункционалСфера, [08в-СправкаУник].ПФМ, [08в-СправкаУник].Заказ, [08в-СправкаУник].ДатаДокум, [08в-СправкаУник].[Д/проводки], [08в-СправкаУник].РЕЗЕРВ, [08в-СправкаУник].ДокВыравн, [08в-СправкаУник].НДС, [08в-СправкаУник].сумма, [08в-СправкаУник].[Номердоговора(контрагент)], [08в-СправкаУник].Текстзаголовкадокумента, [08в-СправкаУник].СуммавВВ, [08в-СправкаУник].Расхождение
FROM [08в-СправкаУник]) q
ORDER BY БЕ, СсылКлюч1
3
genuchka
0 / 0 / 0
Регистрация: 30.08.2012
Сообщений: 14
31.01.2013, 11:13  [ТС] 13
[QUOTE=mobile;4075527]genuchka, вот так, с использованием top 100 percent во вложенном запросе, дает все строки. Известный баг
]

вау, вау, вау!! спасибище! такого приема еще не знала...
0
ltv_1953
Эксперт MS Access
14552 / 6332 / 1319
Регистрация: 21.06.2012
Сообщений: 11,582
31.01.2013, 11:32 14
Лучший ответ Сообщение было отмечено как решение

Решение

Еще интереснее, если поставить TOP 100 PERCENT в 08в-СправкаУник, то тоже все работает. По всей видимости, появление TOP 100 PERCENT в любом запросе в последовательности вызываемых запросов блокирует этот баг.
3
31.01.2013, 11:32
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 11:32

Почему array reverse на указателях медленнее, чем обычный?
Всем привет. Решил сравнить скорость работы алгоритма реверса массива. Думал на указателях...

Почему в yii не удаляется модель через обычный пункт удалить?
Добрый день, Почему удаление нормально проходит через виджет грида, Формируется такой Url : ...

Обычный код чтения файла на VB6 работает намного быстрее, чем на VB2005 ! ПОЧЕМУ ?
Переделал прогу с VB6 на VB2005. Она стала работать намного медленнее. Нашел фрагмент кода -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.