繁体   English   中英

创建月度报告

[英]Creating monthly report

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

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; 

这是要测试的示例sqlfiddle

演示运行快照:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM