我在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。总小时数。我可以避免使用临时表或使用循环语句来获得我想要的结果吗?
答案 0 :(得分:0)
尝试使用join
select Names, sum(Hours)
from table1 t1
join table2 t2 on t1.Codes = t2.Codes
group by Names
;