powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как просуммировать строки в запросе
25 сообщений из 76, страница 1 из 4
как просуммировать строки в запросе
    #39555602
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добр ночи. Помогите, пожалуйста - не получается в запросе просуммировать строки. БД прилагаю. И прилагаю вид запроса, каким хотелось бы его получить. Заранее благодарен. Юрий
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555603
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас приложу БД
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555607
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сгруппирой по Пациент, ДатаОперации
и выведи sum(ИнфузияСписок_мл)
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555609
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT Пациент.ФИО, Операция.ДатаОперации, Sum(Инфузия.ИнфузияСписок_мл) 
FROM Пациент INNER JOIN (
(ИсторияБолезни INNER JOIN Операция ON ИсторияБолезни.КодИсторииБолезни = Операция.ИсторияБолезни) 
INNER JOIN (Инфузия INNER JOIN ИнфузияСписок ON Инфузия.ИнфузияСписок = ИнфузияСписок.ИнфузияСписок) 
ON Операция.КодОперации = Инфузия.КодИнфузии) 
ON Пациент.КодПациента = ИсторияБолезни.Пациент
GROUP BY Пациент.ФИО, Операция.ДатаОперации;
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555662
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, спасибо большое за вариант! Извиняюсь, а можно построителем? ну или макросом. Я просто в программировании не силен :) С ув. Юрий
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555695
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перейди в режим SQL и вставь текст
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555769
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, ну или можно попросить прописать это прямо в запросе в моем примере. Ну не силен я в программировании. С ув. Юрий
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555770
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, спасибо, попробую
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555804
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, вставил и получилось! Идеально! Спасибо большое! Но, как только я дальше ввел поле для подсчета cevvfhyjq инфузии на 1 кг веса, вновь запрос выглядит не группированным. Полез изучать SQL, но если поправите запрос в приложенной БД, чтобы он вновь был сгруппированным, буду признателен. С ув. Юрий
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555888
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите это (сделал как понял) таблицы,формы,запросы с префиксами тбл,ф,з
если не правильно понял-поясните (отсюда не видать, что Вы хотите)
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39555889
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
виноват-вот "причёсанная"
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39556490
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, спасибо большое! Но- напугали. Мне казалось, что в мой запрос всего-то нужно добавить одно вычисляемое поле типа инфузия_мл/вес AS ml/kg, а группировку оставить прежней. Штудирую материалы по SQL Access, как это сделать. Мне-то попроще нужно, чтобы в случае чего сам мог бы править. С ув. Юрий
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39556728
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pol123,
А Вы подумайте:если в запрос с группировкой(где есть поля с суммированием или любой другой групповой операцией) добавить поле код,в котором нет одинаковых записей, и вся группировка кончится-вот и Вы хотите в группировку по названию препарата добавить поле с расчетом количества препарата(расчет не имеющий ничего общего с подсчетом общего количества препарата. В вашем должна оказаться только цифра показывающая сколько всего израсходовано данного препарата на пациента,без поля фамилия и после суммирования по этому полю получится запрос с 1 итоговой строкой)-ну и как быть железяке по имени РС, если Вы хотите что она произвела взаимоисключающие действия.
Я не хотел Вас пугать
Быстро только кошки родятся (Ильф и Петров)
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557245
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, изучаю SQL, перечитал кучу материалов по Join и там схемы написания кода отличаются от выполненного Вами.

Написал код по литературе. Работает (что меня удивило).

Можно вопрос (он, понимаю, по недостаточному знанию): почему работает код, написанный мной следующим образом?

SELECT Пациент.ФИО, Операция.ДатаОперации, Sum(Инфузия.ИнфузияСписок_мл)
FROM (((Пациент INNER JOIN ИсторияБолезни ON Пациент.КодПациента = ИсторияБолезни.Пациент) INNER JOIN Операция ON ИсторияБолезни.КодИсторииБолезни = Операция.ИсторияБолезни) INNER JOIN Инфузия ON Операция.КодОперации = Инфузия.КодИнфузии) INNER JOIN ИнфузияСписок ON Инфузия.ИнфузияСписок = ИнфузияСписок.ИнфузияСписок
GROUP BY Пациент.ФИО, Операция.ДатаОперации

Какой-то, видимо, есть подводный камень в Вашем варианте? Таблицы во From и информация в ON сгруппированы сложнее? Какие принципы я нарушил, и что в моем варианте неправильно?

Спасибо. С ув. Юрий
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557250
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pol123982183, изучаю SQL, перечитал кучу материалов по Join и там схемы написания кода отличаются от выполненного Вами.
Вариантов может быть масса.
Pol123Написал код по литературе. Работает (что меня удивило).
Чему тут удивляться. Не дураки же учебники писали.

Pol123Можно вопрос (он, понимаю, по недостаточному знанию): почему работает код, написанный мной следующим образом?
А почему он не должен работать.

Pol123Какой-то, видимо, есть подводный камень в Вашем варианте?
Это был самый простой вариант.
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557252
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ я твои связи не трогал.
Я добавил Sum в Sum(Инфузия.ИнфузияСписок_мл)
и GROUP BY Пациент.ФИО, Операция.ДатаОперации;

Остальное это твоё творчество.
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557254
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вопрос в том, чем отличается

Код: sql
1.
2.
3.
4.
5.
6.
FROM Пациент 
INNER JOIN ((ИсторияБолезни 
INNER JOIN Операция ON ИсторияБолезни.КодИсторииБолезни = Операция.ИсторияБолезни) 
INNER JOIN (Инфузия 
INNER JOIN ИнфузияСписок ON Инфузия.ИнфузияСписок = ИнфузияСписок.ИнфузияСписок) 
ON Операция.КодОперации = Инфузия.КодИнфузии) ON Пациент.КодПациента = ИсторияБолезни.Пациент



от
Код: sql
1.
2.
3.
4.
FROM (((Пациент INNER JOIN ИсторияБолезни ON Пациент.КодПациента = ИсторияБолезни.Пациент)
 INNER JOIN Операция ON ИсторияБолезни.КодИсторииБолезни = Операция.ИсторияБолезни)
 INNER JOIN Инфузия ON Операция.КодОперации = Инфузия.КодИнфузии)
 INNER JOIN ИнфузияСписок ON Инфузия.ИнфузияСписок = ИнфузияСписок.ИнфузияСписок 



то я пас.
Глаза разбегаются.
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557255
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183Остальное это твоё творчество.
Точнее сказать творчество конструктора запросов.
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557845
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, спасибо большое!
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557937
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, в суммирующий запрос, созданный с Вашей помощью, я добавил поле "вес", а затем поле суммарной инфузии поделил на этот вес (в построителе). Запрос работает и все отображается. Но каждый раз выскакивает сообщение об ошибке, запрашивающее ввести значение суммарной инфузии. Я просто жму каждый раз ОК и запрос отображается. Отображается, вроде, правильно. Но если запрашивает, значит что-то я сделал неправильно? Подскажите, пожалуйста, что нужно поправить, чтобы все работало без этого сообщения об ошибке. Спасибо. С ув. Юрий
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557977
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В выражении
Код: sql
1.
[Sum-ИнфузияСписок_мл]/[Вес]



Нет такого поля "Sum-ИнфузияСписок_мл"
не определены таблицы, из которых берутся данные полей.
Поэтому ACCESS и пытается запросить значение.
Видимо данные поле есть в нескольких таблицах.
Укажи перед полем имя таблицы
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557978
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вру.
У тебя формируется в этом же запросе поле Sum(Инфузия.ИнфузияСписок_мл) AS [Sum-ИнфузияСписок_мл]
Правильно было бы :вместо
[Sum-ИнфузияСписок_мл]/[Вес]
написать
Sum(Инфузия.ИнфузияСписок_мл)/ (ИсторияБолезни.Вес)
Но это тебе не поможет.
Ибо непонятно зачем ты группируешь по этому значению.
+ я не уверен что возможна группировка по таким образом вычисляемому значению (но скорее всего она тебе просто не нужна)
Попробуй на русском языке, обычными словами, сформулировать конечный результат.
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39557979
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убрал данное выражение из группировки - вывелся некий результат без запроса.
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39558656
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, спасибо большое за помощь! Я хоть понял, куда смотреть и где искать:) С ув. Юрий
...
Рейтинг: 0 / 0
как просуммировать строки в запросе
    #39558660
Pol123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183, а простыми словами - нужно сумму инфузии, которая получается в запросе после суммирования значений по каждой операции, поделить на вес пациента. С ув. Юрий
...
Рейтинг: 0 / 0
25 сообщений из 76, страница 1 из 4
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как просуммировать строки в запросе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]