SQL加入主/细节和总和

时间:2014-12-01 07:04:31

标签: sql sqlite

我有两张桌子需要加入,需要一些帮助。

ProjectList

Recnum  ProjectName  Contact
1       Test 1       Me
2       Test 2       Myself
3       Test 3       I

时间轨迹

Recnum  Regular  Overtime
1             8         0
3             4         2
3             8         0

结果

Recnum  ProjectName  Contact  TotalRegular  TotalOvertime
1       Test 1       My                  8              0
2       Test 2       Myself              0              0
3       Test 3       I                  12              2

我们已经到了获取所有字段的位置,但不是来自ProjectList的所有记录。需要一些帮助。

1 个答案:

答案 0 :(得分:1)

看起来像聚合Inner Join的直接Sum应该有效

SELECT A.Recnum,
       ProjectName,
       Contact,
       Ifnull(Sum(Regular), 0),
       Ifnull(Sum(Overtime), 0)
FROM   ProjectList A
       LEFT JOIN TimeTrack b
              ON a.Recnum = b.Recnum
GROUP  BY A.Recnum,
          ProjectName,
          Contact