Sql 创建月度报告

Sql 创建月度报告,sql,sqlite,Sql,Sqlite,我正在创建月度报告,我有一个表: DriverName TodayDate WeekNo KM ---------- ---------- ------ --- ALI 02-01-2018 1 2 ALI 04-01-2018 1 4 ALI 08-01-2018 2 3 ALI 09-01-2018 2

我正在创建月度报告,我有一个表:

DriverName    TodayDate     WeekNo    KM
----------    ----------    ------    ---
ALI           02-01-2018    1         2
ALI           04-01-2018    1         4
ALI           08-01-2018    2         3
ALI           09-01-2018    2         8
AHMED         05-02-2018    1         9
AHMED         05-02-2018    1         9
...
So on
我尝试的结果如下:

DriverName    KM/W1  KM/W2  KM/W3  KM/W4  KM/W5   Total
----------    -----  -----  -----  -----  -----   -----
ALI           6      11     0      0      0       17
AHMED         18     0      0      0      0       18
我已经尝试过,但不知道如何编写内部选择查询:

Select DriverName,(Select KM FROM Traveling Where WeekNo=1) as KM/W1, ... Where Traveling
任何人都请帮忙!谢谢

希望这有助于:

SELECT drivername, 
       Sum(CASE 
             WHEN weekno = 1 THEN km 
             ELSE 0 
           END) AS wk1km, 
       Sum(CASE 
             WHEN weekno = 2 THEN km 
             ELSE 0 
           END) AS wk2km, 
       Sum(CASE 
             WHEN weekno = 3 THEN km 
             ELSE 0 
           END) AS wk3km, 
       Sum(CASE 
             WHEN weekno = 4 THEN km 
             ELSE 0 
           END) AS wk4km, 
       Sum(CASE 
             WHEN weekno = 5 THEN km 
             ELSE 0 
           END) AS wk5km, 
       Sum(km)  AS total 
FROM   (SELECT drivername, 
               weekno, 
               Sum(km) km 
        FROM   traveling 
        GROUP  BY drivername, 
                  weekno) AS t 
GROUP  BY drivername 
ORDER  BY total; 
这是要测试的样品

演示运行的快照:


它将在没有数据的地方显示0。我刚刚用演示运行快照更新了帖子。如果你可以篡改你的数据,我可以再次检查结果是否不同。我不明白你说它不起作用。请提供详细信息,哪些不起作用。我准确地使用了您的数据,预期和实际结果是匹配的。我更新了日志,精确记录了您的数据和预期结果。