|
0 / 0 / 0
Регистрация: 08.08.2007
Сообщений: 184
|
||||||
Супер вопрос для особо знающих SQL под Access11.12.2007, 15:18. Показов 1125. Ответов 4
Метки нет (Все метки)
Привет, знаток!
Есть таблицы OU, VidDeyateln, NasPunkts, GroundArea, ObjNedv. Часть полей выбираются из них, а часть выбираются с суммированием. Проблема: все поля, которые входят в запрос с Sum или Count, выдают удвоенные значения. Как будто Sum, count выполняются дважды. Текст запроса такой:
0
|
||||||
| 11.12.2007, 15:18 | |
|
Ответы с готовыми решениями:
4
Вопрос для знающих Вопрос для знающих Вопрос для знающих вордпресс |
|
0 / 0 / 0
Регистрация: 05.12.2007
Сообщений: 56
|
|
| 11.12.2007, 16:54 | |
|
Безусловно, SUM выполняется для текущей выборки один раз. Вывод: а не дает ли выборка двойной результат? Ежели в результате объединения таблиц получается строк больше, чем хотелось бы. Уберите групповые операции, и просмотрите список. Если строк будет больше, чем нужно, то Вы быстро найдете, какая таблица в этом виновата.
Если не получится (у меня подобное случалось), сделайте так: 1. Создайте запрос без групповых операций, линейный. 2. Постройте к этому запросу второй запрос с групповыми операциями.
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2007
Сообщений: 184
|
|||||||||||
| 11.12.2007, 20:25 [ТС] | |||||||||||
|
Убрал я групповые операции и Sum операции, но дублирование строк осталось. Похоже не из-за Sum. Оно и без Sum дублирует строки.
Без таблицы ObjNedv все как надо работает без дублей. Как только я добавляю [ObjNedv].[name] (даже без Sum) и соответственно добавляю INNER JOIN ObjNedv ON [OU].[id]=[ObjNedv].[idOU] в конце FROM, то появляется дублирование. Из-за чего это может быть ? Так с дублированием:
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 05.12.2007
Сообщений: 56
|
|
| 12.12.2007, 15:52 | |
|
Спасибо за четко выстроенный листинг
![]() У Аксесса на сложных запросах иногда срывает крышу. Выхода два: 1. Замените INNER JOIN на LEFT JOIN (Если в конструкторе, то выбрать все строки из таблицы а и только те строки из таблицы б, которые совпадают. Если в тексте, то просто замените INNER на LEFT и уберите скобки. В первом случае можно также указать, что б.полеХ IS NOT NULL, но в данном случае не нужно. 2. Построить запрос до момента дублирования. Затем построить запрос к получившемуся запросу как объекту БД. Помогает.
0
|
|
|
0 / 0 / 0
Регистрация: 08.08.2007
Сообщений: 184
|
|
| 12.12.2007, 20:14 [ТС] | |
|
Спасибо. Ты действительно даешь дельные советы.
LEFT JOIN помогла, но не во всех случаях, но я ее использовал. Этот запрос еще и разбил на 3 запроса. После этого заработало. Премного благодарен. Тема закрыта!
0
|
|
| 12.12.2007, 20:14 | |
|
Помогаю со студенческими работами здесь
5
Вопрос для знающих программистов. Вопрос для руководителей(работодателей) или всех "знающих" SQL в ACCESS вопрос??? Вопрос по особенностям ACCESS SQL Супер простой вопрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|