select concat(year(B.日期),monty(B.日期),A.车辆编号,sum(B.修理费),sum(B.保养费),sum(总里程),sum(B.修理费)+sum(B.保养费) from 出车信息 A,车辆其他费用 B,车辆信息 C where A.车辆编号 = B.车辆编号 and A.车辆编号 = C.车辆编号 group by concat(year(B.日期),monty(B.日期),A.车辆编号
SELECT a.carName, a.carID, a.carPrice, FROM t_carInfo a LEFT JOIN ( SELECT carID, sum(distance)as 里程, sum(Fuel costs)as 加油费 FROM t_carTurnout WHERE MONTH(sdate) =04 AND YEAR(sdate) =2011 GROUP BY carID )b ON a.carID= b.carID LEFT JOIN ( SELECT carID, sum(Repairs) as 修理费 FROM t_carOther WHERE MONTH(sdate) =04 AND YEAR(sdate) =2011 GROUP BY carID )c ON a.carID= c.carID我这么写怎么会报错呢?
SELECT a.carName, a.carID, a.carPrice, FROM t_carInfo a LEFT JOIN ( SELECT carID, sum(carDistance)as 里程, sum(fuelCosts)as 加油费 FROM t_carTurnout WHERE MONTH(sdate) =04 AND YEAR(sdate) =2011 GROUP BY carID )b ON a.carID= b.carID LEFT JOIN ( SELECT carID, sum(Repairs) as 修理费 FROM t_carOther WHERE MONTH(sdate) =04 AND YEAR(sdate) =2011 GROUP BY carID )c ON a.carID= c.carID 这么写为什么错呢? 不是中文的问题,写中文是大家看起来方便理解。
from 出车信息 A,车辆其他费用 B,车辆信息 C
where A.车辆编号 = B.车辆编号 and A.车辆编号 = C.车辆编号
group by concat(year(B.日期),monty(B.日期),A.车辆编号
你好,不能用where,因为没有记录匹配的话,车辆也要全部显示出来。大概要这个效果:
车辆/车牌 修理/保养费 当月里程 单价 里程费用(里程X单价) 汽油费 合计
现代/鄂A5H570 0 67.00 1.60 107.2 200.00 307.2
日产/鄂A28U15 200 0.00 2.10 0 0.00 200
本田/鄂A18R56 0 0.00 2.10 0 0.00 0
FROM t_carInfo a
LEFT JOIN (
SELECT carID, sum(distance)as 里程, sum(Fuel costs)as 加油费
FROM t_carTurnout
WHERE MONTH(sdate) =04 AND YEAR(sdate) =2011
GROUP BY carID
)b ON a.carID= b.carID
LEFT JOIN (
SELECT carID, sum(Repairs) as 修理费
FROM t_carOther
WHERE MONTH(sdate) =04 AND YEAR(sdate) =2011
GROUP BY carID
)c ON a.carID= c.carID我这么写怎么会报错呢?
FROM t_carInfo a
LEFT JOIN (
SELECT carID, sum(carDistance)as 里程, sum(fuelCosts)as 加油费
FROM t_carTurnout
WHERE MONTH(sdate) =04 AND YEAR(sdate) =2011
GROUP BY carID
)b ON a.carID= b.carID
LEFT JOIN (
SELECT carID, sum(Repairs) as 修理费
FROM t_carOther
WHERE MONTH(sdate) =04 AND YEAR(sdate) =2011
GROUP BY carID
)c ON a.carID= c.carID
这么写为什么错呢? 不是中文的问题,写中文是大家看起来方便理解。
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。