![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 18.01.2011
Сообщений: 8
|
![]()
Добрый день!Не могу заставить access просуммировать столбец(Count) из таблицы(ASW), чтобы из второй таблицы(ProductDetails),которая служит как таблица соответсвия кодов, было добавлено поле с наименованием Material N.При выполнении запроса (11111) ,где суммируется Sum(Count) значения умножаются на количество совпадающих записей по полю CodeOper в таблице (ProductDetails),а мне бы хотелось , чтобы были просуммированы лишь значения поля Count (1+2+3=6) , которые содержатся в таблице ASW без умножения на количество записей в ProductDetails.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
![]()
Здравствуйте
Трудно что-то понять... Попробуйте запрос Код:
![]() До свидания |
![]() |
![]() |
![]() |
#3 |
Регистрация: 18.01.2011
Сообщений: 8
|
![]()
Извините, если я туманно выразился .Попробую так.
Запрос SELECT ASW.CodeOper, ASW.Count, ProductDetails.[Material №] FROM ProductDetails INNER JOIN ASW ON ProductDetails.CodeOper = ASW.CodeOper GROUP BY ASW.CodeOper, ASW.Count, ProductDetails.[Material №]; выдает значения по полю Count 1,2,3 Можно ли просуммировать значения по полю Count (т.е. 1+2+3=6) я пробую SELECT ASW.CodeOper, Sum(ASW.Count) AS [Sum-Count], ProductDetails.[Material №] FROM ProductDetails INNER JOIN ASW ON ProductDetails.CodeOper = ASW.CodeOper GROUP BY ASW.CodeOper, ProductDetails.[Material №]; у меня вместо значения суммы 6 стновится 18 (т.е. умножается на 3) Спасибо за то, что уделяете мне внимание |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
![]()
Попробуйте поиграть с таким запросом (проверять некогда, много работы принесли
![]() Цитата:
P.S. Может ещё раз загляну перед уходом, но не обещаю Последний раз редактировалось OlegVE; 07.04.2011 в 16:24. |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
я тоже не разобрался в хитросплетениях и связах ваших таблиц.
но, можно использовать вложенный запрос: Код:
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 18.01.2011
Сообщений: 8
|
![]()
Спасибо за решения, но они не проходят , потому, что если в таблицу ASW добавить еще одну строку ,где CodeOper=370110100 Count=1, то по вашим запросам Sum-Count останется =6 , а надо чтобы было 7.Т.к. в ASW поле Count имеет значения (1,2,3,1) и их сумма=7(1+2+3+1)
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
странно, должно всё работать..
![]() сделайте тестовую базку. выложите тут архив с этой базой. проще будет посмотреть... |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 01.04.2011
Сообщений: 226
|
![]()
Так и должно получиться 18, поскольку CodeOper в таблице ASW у всех трех записей одинаковые. При таких данных Ваш запрос выбирает для каждой записи из таблицы ASW все записи из таблицы ProductDetails.
Скорее всего, структура Вашей БД не соответствует поставленной задаче. Для того, чтобы предложить варианты исправления, необходимо знать начальную задачу и конечную цель. Вот этот запрос работает так, как Вы ожидаете: SELECT AAA.CodeOper, AAA.[Material №], Sum(AAA.Cnt) AS Выражение1 FROM (SELECT ASW.CodeOper, ASW.Cnt, ProductDetails.[Material №] FROM ProductDetails INNER JOIN ASW ON ProductDetails.CodeOper = ASW.CodeOper GROUP BY ASW.CodeOper, ASW.Cnt, ProductDetails.[Material №]) AS AAA GROUP BY AAA.CodeOper, AAA.[Material №]; PS Не стоит называть пользовательские поля зарезервированными словами типа Count
Если руки золотые, то не важно, откуда они растут.
Последний раз редактировалось ovt256; 08.04.2011 в 10:05. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
![]()
Здравствуйте
После долгих гаданий получилось следующее: Код:
![]() ![]() 1. У меня есть данные. 2. Данные соотносятся между собой следующим образом. 3. Я хочу на основе данных получить следующий результат. 4. Я пытался так... но у меня не получилось, выходит так, а надо так... До свидания Последний раз редактировалось OlegVE; 12.04.2011 в 11:44. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос к dbf таблице!!! | dengul | БД в Delphi | 4 | 29.03.2011 09:36 |
Запрос на поиск в таблице Ado | alexeybest | БД в Delphi | 4 | 16.03.2010 20:35 |
Поиск и суммирование данных в таблице произвольного размера | Darkdog | Microsoft Office Excel | 26 | 16.02.2010 10:47 |
ужно что-бы в 1-ой таблице B копировался из второй таблицы, в зависимотри от A | Rashanea | Microsoft Office Excel | 1 | 13.12.2008 00:15 |