2016-05-03 21 views
-1

Ich baue ein Flottenmanagement-System in PHP und MySQL und ich habe Probleme mit meiner Auswahl Abfrage aus meinen Tabellen, da ich möchte, dass das System tägliche, wöchentliche und monatliche Berichte zu produzieren, hier sind meine Tabellen.Mysql wählen Sie Probleme

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)); 

jetzt, wenn ich diese Abfrage ausführen ich nur Ergebnisse aus zwei Reihen noch immer habe ich viele Zeilen Werte über meine Tabellen mit ... hier ist meine Frage ,,

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'; 

Antwort

0

Sie sind wahrscheinlich Verwenden Sie hier den falschen Join-Typ. Hier ist eine ziemlich gute Darstellung des Joins in SQL Visual Representation of Joins und hier ist ein guter Stapelüberlauf Thema auf mich Stack Overflow Joins

+0

danke Kurt Leadley, für die Antwort ist bei Ihnen vorgeschlagenen Weg, um es jetzt zu tun. –

+0

Irgendwas Glück? Ich würde versuchen, links zu gehen –