PostgreSQL通过从另一个表中获取元素来创建表

时间:2017-05-10 18:00:36

标签: sql postgresql

我在postgresql中有2个表如下:

             table1
Names(can have duplicates)        Codes 
|                                 |
Name1                             code1
Name2                             code2
Name3                             code3
Name1                             code4
Name2                             code5
Name1                             code5
           table2
Codes                             Hours
|                                 |
code1                             12
code2                             4
code3                             1
code4                             5
code5                             2

所以基本上代码适用于人们所从事的项目。表1有一个人名和他所从事的项目。一个人可以参与一个以上的项目。表2列出了项目的代码和完成时间。 2个不同的人可以在同一个项目上工作。我想知道每个人完全工作了多少小时。所以我想创建一个包含2列的表:1。名称(非重复)2。总小时数。我可以避免使用临时表或使用循环语句来获得我想要的结果吗?

1 个答案:

答案 0 :(得分:0)

尝试使用join

select Names, sum(Hours)
from table1 t1
join table2 t2 on t1.Codes = t2.Codes
group by Names
;