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