Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как просуммировать строки в запросе / 25 сообщений из 76, страница 1 из 4
19.11.2017, 03:57
    #39555602
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
Добр ночи. Помогите, пожалуйста - не получается в запросе просуммировать строки. БД прилагаю. И прилагаю вид запроса, каким хотелось бы его получить. Заранее благодарен. Юрий
...
Рейтинг: 0 / 0
19.11.2017, 03:58
    #39555603
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
Сейчас приложу БД
...
Рейтинг: 0 / 0
19.11.2017, 04:39
    #39555607
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
Сгруппирой по Пациент, ДатаОперации
и выведи sum(ИнфузияСписок_мл)
...
Рейтинг: 0 / 0
19.11.2017, 04:50
    #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
19.11.2017, 13:28
    #39555662
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
982183, спасибо большое за вариант! Извиняюсь, а можно построителем? ну или макросом. Я просто в программировании не силен :) С ув. Юрий
...
Рейтинг: 0 / 0
19.11.2017, 15:10
    #39555695
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
Перейди в режим SQL и вставь текст
...
Рейтинг: 0 / 0
19.11.2017, 18:33
    #39555769
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
982183, ну или можно попросить прописать это прямо в запросе в моем примере. Ну не силен я в программировании. С ув. Юрий
...
Рейтинг: 0 / 0
19.11.2017, 18:34
    #39555770
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
982183, спасибо, попробую
...
Рейтинг: 0 / 0
19.11.2017, 20:31
    #39555804
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
982183, вставил и получилось! Идеально! Спасибо большое! Но, как только я дальше ввел поле для подсчета cevvfhyjq инфузии на 1 кг веса, вновь запрос выглядит не группированным. Полез изучать SQL, но если поправите запрос в приложенной БД, чтобы он вновь был сгруппированным, буду признателен. С ув. Юрий
...
Рейтинг: 0 / 0
20.11.2017, 03:05
    #39555888
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
Посмотрите это (сделал как понял) таблицы,формы,запросы с префиксами тбл,ф,з
если не правильно понял-поясните (отсюда не видать, что Вы хотите)
...
Рейтинг: 0 / 0
20.11.2017, 03:15
    #39555889
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
виноват-вот "причёсанная"
...
Рейтинг: 0 / 0
21.11.2017, 02:06
    #39556490
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
sdku, спасибо большое! Но- напугали. Мне казалось, что в мой запрос всего-то нужно добавить одно вычисляемое поле типа инфузия_мл/вес AS ml/kg, а группировку оставить прежней. Штудирую материалы по SQL Access, как это сделать. Мне-то попроще нужно, чтобы в случае чего сам мог бы править. С ув. Юрий
...
Рейтинг: 0 / 0
21.11.2017, 12:37
    #39556728
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
Pol123,
А Вы подумайте:если в запрос с группировкой(где есть поля с суммированием или любой другой групповой операцией) добавить поле код,в котором нет одинаковых записей, и вся группировка кончится-вот и Вы хотите в группировку по названию препарата добавить поле с расчетом количества препарата(расчет не имеющий ничего общего с подсчетом общего количества препарата. В вашем должна оказаться только цифра показывающая сколько всего израсходовано данного препарата на пациента,без поля фамилия и после суммирования по этому полю получится запрос с 1 итоговой строкой)-ну и как быть железяке по имени РС, если Вы хотите что она произвела взаимоисключающие действия.
Я не хотел Вас пугать
Быстро только кошки родятся (Ильф и Петров)
...
Рейтинг: 0 / 0
22.11.2017, 02:07
    #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
22.11.2017, 02:32
    #39557250
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
Pol123982183, изучаю SQL, перечитал кучу материалов по Join и там схемы написания кода отличаются от выполненного Вами.
Вариантов может быть масса.
Pol123Написал код по литературе. Работает (что меня удивило).
Чему тут удивляться. Не дураки же учебники писали.

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

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

Остальное это твоё творчество.
...
Рейтинг: 0 / 0
22.11.2017, 03:10
    #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
22.11.2017, 04:45
    #39557255
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
982183Остальное это твоё творчество.
Точнее сказать творчество конструктора запросов.
...
Рейтинг: 0 / 0
22.11.2017, 20:09
    #39557845
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
982183, спасибо большое!
...
Рейтинг: 0 / 0
22.11.2017, 23:50
    #39557937
Pol123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
982183, в суммирующий запрос, созданный с Вашей помощью, я добавил поле "вес", а затем поле суммарной инфузии поделил на этот вес (в построителе). Запрос работает и все отображается. Но каждый раз выскакивает сообщение об ошибке, запрашивающее ввести значение суммарной инфузии. Я просто жму каждый раз ОК и запрос отображается. Отображается, вроде, правильно. Но если запрашивает, значит что-то я сделал неправильно? Подскажите, пожалуйста, что нужно поправить, чтобы все работало без этого сообщения об ошибке. Спасибо. С ув. Юрий
...
Рейтинг: 0 / 0
23.11.2017, 02:57
    #39557977
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как просуммировать строки в запросе
В выражении
Код: sql
1.
[Sum-ИнфузияСписок_мл]/[Вес]



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


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