Как я могу объединить эти две таблицы? - PullRequest
3 голосов
/ 10 ноября 2010

У меня есть одна таблица (t1)

id    score
22     1
35     3
51     4

и еще один (t2)

id    score
22     2
35     1
10     5

Я хочу создать следующую таблицу с помощью SQL-запроса.

id    score
10      5
22      3
35      4
51      5

т.е. Мне нужно объединить идентификатор и сложить оценки вместе.

В идеале в ANSI SQL.

Ответы [ 3 ]

2 голосов
/ 10 ноября 2010

Используйте UNION ALL , чтобы объединить все записи обеих таблиц в одну, и GROUP BY , чтобы получить сумму для каждого ID.

SELECT  id, SUM(score)
FROM    (
          SELECT  id, score
          FROM    t1      
          UNION ALL 
          SELECT  id, score
          FROM    t2
        ) t
GROUP BY
        t.ID
2 голосов
/ 10 ноября 2010
SELECT  id, SUM(score)
FROM    (
        SELECT  *
        FROM    t1
        UNION ALL
        SELECT  *
        FROM    t2
        ) q
GROUP BY
        id
0 голосов
/ 10 ноября 2010
create table a(id int, score int)
create table b(id int, score int)

insert into a values(1, 10)
insert into a values(2, 5)
insert into b values(1, 15)
insert into b values(3, 20)

select id, sum(score) from 
(select * from a
 union all
select * from b) s
group by id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...