powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Суммирование полей запросов
6 сообщений из 6, страница 1 из 1
Суммирование полей запросов
    #40112829
Oda412
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
В наличии результаты двух запросов:

Запрос 1:
fio sum_f2
-------------------------
Petrov 100

Запрос 2:
fio sum_f3
-------------------------
Pertov 30
Smirnov 185
Ivanov 138

Задача - сложить эти 2 запроса между собой, чтобы получилось так:

fio sum
-------------------------
Petrov 130
Smirnov 185
Ivanov 138

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

Исходный код здесь:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
CREATE TABLE t1(id SERIAL PRIMARY KEY,
			 fio VARCHAR);

CREATE TABLE t2(id INTEGER NOT NULL REFERENCES t1(id),
			 f2 DOUBLE PRECISION);
			
CREATE TABLE t3(id INTEGER NOT NULL REFERENCES t1(id),
			 f3 DOUBLE PRECISION); 

-- Ввод данных

INSERT INTO t1(id,fio) VALUES (1,'Petrov');
INSERT INTO t1(id,fio) VALUES (2,'Ivanov');
INSERT INTO t1(id,fio) VALUES (3,'Smirnov');

INSERT INTO t2(id,f2) VALUES (1,100);

INSERT INTO t3(id,f3) VALUES(1,30);
INSERT INTO t3(id,f3) VALUES(2,55);
INSERT INTO t3(id,f3) VALUES(2,38);
INSERT INTO t3(id,f3) VALUES(2,45);
INSERT INTO t3(id,f3) VALUES(3,55);
INSERT INTO t3(id,f3) VALUES(3,45);
INSERT INTO t3(id,f3) VALUES(3,85);

-- Запрос 1
SELECT 
	fio,
	SUM(f2) as sum_f2
FROM t1	
INNER JOIN t2 ON t1.id=t2.id
GROUP BY fio;	

-- Запрос 2

SELECT 
	fio,
	SUM(f3) as sum_f3
FROM t1	
INNER JOIN t3 ON t1.id=t3.id
GROUP BY fio;
...
Рейтинг: 0 / 0
Суммирование полей запросов
    #40112846
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то типа такого (не тестировал)

Код: sql
1.
2.
3.
4.
5.
SELECT fio,SUM(sum_ff) FROM 	
(SELECT fio,SUM(f2) as sum_ff FROM t1 INNER JOIN t2 ON t1.id=t2.id GROUP BY fio) t11
inner join
(SELECT fio, SUM(f3) as sum_ff FROM t1 INNER JOIN t3 ON t1.id=t3.id GROUP BY fio) t22
ON t11.fio=t22.fio
...
Рейтинг: 0 / 0
Суммирование полей запросов
    #40112865
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
select t1.id,t1.fio,sum_total from t1 left join (select id, sum(s1) as sum_total from (select id,sum(f2) as s1 from t2 group by id    
union all                                                                    
select id,sum(f3) as s1 from t3 group by id) as table_sum(id,s1) group by id) as t4 on t4.id=t1.id;



Код: plaintext
1.
2.
3.
4.
5.
6.
 id |   fio   | sum_total 
----+---------+-----------
  1 | Petrov  |       130
  2 | Ivanov  |       138
  3 | Smirnov |       185

...
Рейтинг: 0 / 0
Суммирование полей запросов
    #40112875
Oda412
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин, направление мысли понятно, спасибо большое!!
...
Рейтинг: 0 / 0
Суммирование полей запросов
    #40112876
Oda412
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guzya, спасибо большое за решение!!
...
Рейтинг: 0 / 0
Суммирование полей запросов
    #40112957
Цед Зип
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oda412
Ролг Хупин, направление мысли понятно, спасибо большое!!


;-) вы и сами могли дойти до решения
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Суммирование полей запросов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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