Mysql选择问题

Mysql选择问题,mysql,Mysql,我正在用php和mysql构建车队管理系统,从表中选择查询时遇到问题,因为我希望系统生成每日、每周和每月报告,以下是我的表 create table vehicles(veh_id tinyint not null auto_increment, Reg_number varchar(10)not null, primary key(veh_id)); create table transport(trans_id int not null auto_increment, veh_i

我正在用php和mysql构建车队管理系统,从表中选择查询时遇到问题,因为我希望系统生成每日、每周和每月报告,以下是我的表

create table vehicles(veh_id tinyint not null auto_increment, Reg_number varchar(10)not null, primary key(veh_id));  

create table transport(trans_id int not null auto_increment,    veh_id tinyint not null,    source varchar(10)not  null,    destination varchar(10)not null    del_date date not null,    load varchar(10)not null,    customer varchar(10),    primary key(trans_id)); 

create table expenses(exp_id)int not null auto_increment,    veh_id tinyint not null,    del_date date not null,    trans_id int not null,    cess varchar(10),    labour varchar(10),    allowances varchar(10),   misc varchar(10),    primary key(exp_id)); 
现在,当我运行这个查询时,我只从两行中得到结果,但我的表中有许多行包含值…这是我的查询

  SELECT   vehicles.Reg_number
           ,  transport.trans_id
           ,  transport.del_num
           ,  transport.veh_id
           ,  transport.destination
           ,  transport.source
           ,  transport.load
           ,  expenses.cess
           ,  expenses.labour
           ,  expenses.exp_id
           ,  expenses.allowances
           ,   expenses.fuel   
 from vehicles  
 inner join transport using(veh_id) 
 inner join expenses using(trans_id) 
 where  expenses.trans_id=transport.trans_id  and  
        vehicles.veh_id=transport.veh_id and 
        transport.del_date between '2016-04-27' and '2016-05-06';

您可能使用了错误的联接类型。下面是SQL中连接的一个很好的表示 这里有一个很好的堆栈溢出主题

谢谢Kurt Leadley的回复,我现在正在考虑你提出的方法。运气好吗?我会尝试左键连接