Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 841

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Подскажите как создать объединяющий запрос?
В таблице "Приход" посчитать количество поступившего товара с одним наименованием?

nikvic Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: nikvic (статус: Посетитель)
Вопрос отправлен: 26 мая 2009, 09:17
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, nikvic!
Можно, вот только б привели структуру таблицы, вообще хорошо было бы. Ну а так, пусть kol_tov -количество товара, а nam_tov - его имя. тогда
select sum(kol_tov), nam_tov from mytable group by nam_tov

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 26 мая 2009, 11:22


Мини-форум вопроса

Всего сообщений: 10; последнее сообщение — 26 мая 2009, 16:31; участников в обсуждении: 2.
nikvic

nikvic (статус: Посетитель), 26 мая 2009, 12:01 [#1]:

Таблица Prixod:
ID - ключевое поле
Mat - индекс материала
Firma - поставщик
Kol - количество
и т.д.
При выполнении запроса:
SELECT SUM(Kol), Mat FROM Prixod GROUP BY Mat

возникает ошибка:"Field"ID" not found"
Вадим К

Вадим К (статус: Академик), 26 мая 2009, 12:19 [#2]:

Это БДЕ?
Может хочет что бы поля Kol и/или Mat были проиндексированы...
Галочка "подтверждения прочтения" - вселенское зло.
nikvic

nikvic (статус: Посетитель), 26 мая 2009, 12:22 [#3]:

Таблица Access, индексное только ID.
Вадим К

Вадим К (статус: Академик), 26 мая 2009, 12:24 [#4]:

Ну тогда стоит в самом Access выполнить запрос. а там уже выясниться, что он хочет.
Галочка "подтверждения прочтения" - вселенское зло.
nikvic

nikvic (статус: Посетитель), 26 мая 2009, 12:30 [#5]:

После индексации Mat та же ошибка.
Индексировать Kol не позволяет.
nikvic

nikvic (статус: Посетитель), 26 мая 2009, 12:51 [#6]:

Access пишет: "Данный подчиненный запрос должен возвращать не более одной записи"
Вадим К

Вадим К (статус: Академик), 26 мая 2009, 13:19 [#7]:

Поискал, пишут, что некоторые не особо качественные БД хотят, что бы агрегированая функция была после группируемого поля, то есть
SELECT Mat, SUM(Kol) FROM Prixod GROUP BY Mat
Галочка "подтверждения прочтения" - вселенское зло.
nikvic

nikvic (статус: Посетитель), 26 мая 2009, 13:35 [#8]:

Пробывал, результат тот же, к сожалению!
nikvic

nikvic (статус: Посетитель), 26 мая 2009, 15:56 [#9]:

Проблема была в полях установленных в DBGride.
Рекомендованный запрос работает в пустом DBGride.
Вадим К

Вадим К (статус: Академик), 26 мая 2009, 16:31 [#10]:

Заодно проверьте, работает ли первоначальный запрос. (когда агрегатная функция вначале).
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:42
Выполнено за 0.02 сек.