你没给出数据类型,我就全看成字符类型。
unitID好多啊,有关系吗?*---需要字段,不考虑数据类型的差异写A,B的查询
select Distinct A.* As A.*,B.* As B.*,B.carID As carID 
from A left join B on A.UnitID=B.UnitID 写D,E的查询
select Distinct D.* As D.*,E.* As E.*,D.userID As carID 
from D left join E on D.UnitID=E.UnitID 
写G,H的查询
select Distinct G.* As G.*,H.* As H.*,H.censorID As censorID,
G.checckpointID AS checkpointID 
from H left join D on H.UnitID=G.UnitID多对多组合
select AB.*,DE.*,GH.* from c 
join (...) As AB on AB.carID=c.carID 
join (...) As DE on c.backuserID=DE.userID
join (...) As Gh on c.checkpointid=GH.checkpointID 
   and c.censorId=Gh.censorID
join F on F.fixfactoryId=C.fixfactorayid