create table A(DriverID int ,LNo int ,Mileage int , MDate smalldatetime)
create table B(DriverID int ,DriverName varchar(100))
create table C(LNo int,LName varchar(10))insert into a select  1,1,200,'2003-01-01'
insert into a select 1,2,300,'2003-01-02'
insert into a select 2,1,200,'2003-01-02'
insert into a select 2,2,390,'2003-01-23'insert into b select 1,'张三'
insert into b select 2,'李四'insert into c select 1,'北京'
insert into c select  2,'上海'想实现统计:
张三  北京 里程 上海 里程 总里程
李四  北京 里程 上海 里程 总里程select b.DriverName as name ,
sum( case a.lno when 1 then  a.Mileage end ) as 北京里程 ,
sum( case a.lno when 2 then  a.Mileage end ) as 上海里程,
sum(a.Mileage) as 总里程
from b join a on b.DriverID=a.DriverID join c on a.lno=c.lno
group by b.DriverName