目前2个表
一个是车辆申请的,一个是车辆的
目前语句是
select ci.CarNum,ci.Driver,ca.UnitName,ca.Carpeople,ca.Starttime,ci.state from qp_CarInfo as ci left join qp_CarApply as ca on ca.CarId = ci.id order by ca.Starttime desc查询出来却是由26条结果,应该是和车辆表里面一样只有23条结果,因为只有23辆车
车辆申请表中记录的是申请车辆的信息 其中有同一辆车申请过2次或3次 多以导致查询结果有26条现在想去除重复的车牌号码CarNum 只显示最近时间的CarNum 使查询结果只显示23条
一个是车辆申请的,一个是车辆的
目前语句是
select ci.CarNum,ci.Driver,ca.UnitName,ca.Carpeople,ca.Starttime,ci.state from qp_CarInfo as ci left join qp_CarApply as ca on ca.CarId = ci.id order by ca.Starttime desc查询出来却是由26条结果,应该是和车辆表里面一样只有23条结果,因为只有23辆车
车辆申请表中记录的是申请车辆的信息 其中有同一辆车申请过2次或3次 多以导致查询结果有26条现在想去除重复的车牌号码CarNum 只显示最近时间的CarNum 使查询结果只显示23条
select ci.CarNum,ci.Driver,ca.UnitName,ca.Carpeople,ca.Starttime,ci.state from qp_CarInfo as ci INNER join qp_CarApply as ca on ca.CarId = ci.id order by ca.Starttime desc
你光给这么条代码,数据表结构和部分数据都没,只能这么说了。
鲁1111 XXXX XXXX XXXX 2012-03-01 15:45 1
鲁XXXX XXXX XXXX 管理员 2012-03-01 14:25 0
鲁2222 XXXX XXXX XXXX 2012-02-23 15:00 1
鲁XXXX XXXX XXXX XXXX 2012-02-23 14:31 1
鲁1111 XXXX XXXX XXXX 02 22 2012 1:20PM 1
鲁1111 XXXX XXXX XXXX 02 17 2012 10:00AM 1
鲁XXXX XXXX XXXX XXXX 02 17 2012 8:48AM 1
鲁2222 XXXX XXXX XXXX 02 15 2012 10:12AM 0
鲁XXXX XXXX XXXX XXXX 02 1 2012 3:26PM 1
鲁XXXX XXXX XXXX XXXX 02 1 2012 2:10PM 1
鲁XXXX XXXX NULL NULL NULL 1
鲁XXXX XXXX NULL NULL NULL 1
鲁XXXX XXXX NULL NULL NULL 1
鲁XXXX XXXX NULL NULL NULL 1
鲁XXXX XXXX NULL NULL NULL 1
鲁XXXX XXXX NULL NULL NULL 1
鲁XXXX XXXX NULL NULL NULL 1
鲁XXXX XXXX NULL NULL NULL 1这事查询结果 其中车牌号码CarNUM 中有重复的 所以导致结果是26条数据 现在想去除CarNum中的重复
原表字段非常多
表一(车辆申请)有用的字段:
id(车辆申请序号)carID(车辆ID)carNUM(车牌号码) drivers(驾驶员) Carpeople(申请人) UnitName(部门名)
表二(车辆表)有用的字段:
id(车辆)Carnum(车牌号码) driver(驾驶员) state(当前状态)
其中表一carID=表二id,表一carNum=表二carNum,表一drivers=表二driver
2个表的查询结果也是23条
如果车辆申请表中有车辆 就显示使用中
没有车辆就显示空
举例车辆申请中只有一条数据,车辆表中油23条数据
表一
id carID carNUM drivers Carpeople UnitName
1 1 123 222 12 11
表二
id Carnum driver state
1 2 23 1
2 123 33 13 3 44 1
4 ........................
希望查询结果为
carnum driver unitname carpeople starttime state
123 222 11 12 2012 1
2 23 NULL NULL NULL 1
2 23 NULL NULL NULL 1
2 23 NULL NULL NULL 1
2 23 NULL NULL NULL 1
2 23 NULL NULL NULL 1
4.............................................................等23条数据
(select CarNum,Driver,UnitName,Carpeople,max(Starttime) Starttime qp_CarApply
group by CarNum,Driver,UnitName,Carpeople) ca, qp_CarInfo ci
where ca.CarId = ci.id
select max(CarNum) CarNum,Drivers,UnitName,Carpeople,Starttime from qp_CarApply
group by CarNum,Drivers,UnitName,Carpeople,Starttime
这样本身就有重复 所以还是不行 换成max(Starttime) 也是一样重复