powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вывод итоговой суммы
4 сообщений из 4, страница 1 из 1
Вывод итоговой суммы
    #38784818
al.yugay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Работаю в pgADMIN.

Помогите, пожалуйста, с запросом:

Есть 2 таблицы: пациенты (patient) и услуги (uslug) которые им оказаны.
В них есть следующие поля
Patient:
id integer primary key
fam varchar
im varchar
ot varchar
datebday date

Uslug:
id integer primary key
patient_id integer
cod_usl varchar
name_usl varchar
date_usl date

Связь один ко многим по patient_id -> id.

Нужно написать запрос, выводящий ФИО, услугу, кол-во. НО с итого… т.е. результат должен быть вида:

Петров П.П. Анализ крови 2
Петров П.П. УЗИ 5
Петров П.П. Итого 7
Иванов.И.И. Анализ крови 1
Иванов.И.И. УЗИ 1
Иванов.И.И. Итого 2
ИТОГО: 10

Пока получается выводить кол-во каждой услуги у каждого пациента:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT
uslug.patient_id,
patient.fam, 
uslug.name_usl,
count (uslug.name_usl) as c

FROM 

  public.uslug
  inner join public.patient
  on uslug.patient_id=patient.id
  
  GROUP BY uslug.name_usl, uslug.patient_id, patient.fam



Заранее спасибо!
...
Рейтинг: 0 / 0
Вывод итоговой суммы
    #38784825
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
al.yugay, это задача генератора отчётов (типа того :D)
можно извратиться с помощью 9.19. Window Functions
или ждать: http://www.postgresql.org/message-id/flat/CAOeZVidmVRe2jU6aMk_5qkxnB7dfmPROzM7Ur8JPW5j8Y5X-Lw@mail.gmail.com#CAOeZVidmVRe2jU6aMk_5qkxnB7dfmPROzM7Ur8JPW5j8Y5X-Lw@mail.gmail.com]GROUPING SETS, CUBE, ROLLUP
...
Рейтинг: 0 / 0
Вывод итоговой суммы
    #38784826
V&N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&N
Гость
...
Рейтинг: 0 / 0
Вывод итоговой суммы
    #38784853
buddy_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
al.yugay,

можно вывернуться через CTE:

Код: plsql
1.
2.
3.
4.
5.
6.
WITH q AS (${ваш запрос})
SELECT * FROM (
  SELECT * FROM q
   UNION
  SELECT NULL, 'Итого:', NULL, SUM(c) FROM q
) q2 ORDER BY 1
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вывод итоговой суммы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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