498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
|
||||||
1 | ||||||
Ошибка при выполнении запроса13.08.2013, 19:27. Показов 1548. Ответов 6
Метки нет (Все метки)
Добрый вечер! (под вечер голова уже перестала работать)
Есть простенькая БД, в ней одна таблица главная, две подчиненные. Необходимо запросом в TDBGrid вывести суммарные данные определенных столбцов из этих двух таблиц, получилось следующее:
Проблема следующая: если выводить данные суммы одной любой из таблиц - суммирование происходит правильно, при выводе данных вышеописанным запросом из обеих подчиненных - количество данных удваивается... Вопрос: где подвох, как поправить SQL-запрос?!
0
|
13.08.2013, 19:27 | |
Ответы с готовыми решениями:
6
Ошибка при выполнении запроса Trying to store a string of length 30 into field that can only contain 20 При выполнении запроса, зависает программа Как убрать часики при выполнении SQL запроса? Мин и Макс в Fast report при выполнении запроса |
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
14.08.2013, 00:50 | 2 |
Ситуация воспроизведена, практически, один-в-один в Аксесс 2003.
Что-то не получается у меня удвоения количества данных. Запрос отрабатывает как надо. СУБД то какая? И лучше делать левое соединение (LEFT JOIN), если существует вероятность что в одной из подчиненных таблиц не найдется сумм для какого-нибудь адреса.
1
|
498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
|
|
14.08.2013, 16:43 [ТС] | 3 |
СУБД Access 2007, БД сохранена в формате 2003. Вот сам файл...
0
|
498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
|
||||||
14.08.2013, 16:45 [ТС] | 4 | |||||
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|||||||||||
14.08.2013, 20:11 | 5 | ||||||||||
Действительно, если в точности запрос воспроизвести, то суммы по второй объединенной таблице удваиваются, утраиваются и т.д.
Зависит от количества записей по одной и той же группировке в первой подчиненной таблицы. Если вторую подчиненную объединять по первой подчиненной, а не по главной, то артефакта удвоения не будет (в приведенном заросе наименования немного сокращены):
Правда, получается критическая зависимость представляемых сумм во второй таблице от записей в первой подчиненной. Т.е. этот запрос тоже не корректен. Добавлено через 5 минут Хм, к тому же, выше чушь написана. Надо бы этот текст запроса к стенке (ну, или автора). Добавлено через 29 минут Если это, действительно, Аксесс, то благополучия удалось достигнуть отдельными запросами.
1
|
71 / 71 / 7
Регистрация: 19.07.2011
Сообщений: 357
|
||||||
15.08.2013, 01:13 | 6 | |||||
можно обойтись одним запросом
1
|
498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
|
|
15.08.2013, 05:23 [ТС] | 7 |
Автор, действительно, Access ... Повторов избежал так же, при помощи отдельных запросов
Я уже грешным делом думал, что я делаю что-то не так
0
|
15.08.2013, 05:23 | |
15.08.2013, 05:23 | |
Помогаю со студенческими работами здесь
7
Ошибка при выполнении ADOCommand Ошибка при выполнении базы Ошибка при выполнении многошаговой операции Firebird ошибка при выполнении selectSQL Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |