2017-03-25 9 views
0

Ich habe 2 Tabellen route und combo.Mysql Abfrage zwei Tabellen

Ich habe viele Abfragen (Union und Joins) ohne Erfolg versucht.

würde Ich mag Ergebnisse erhalten, wo kein Route Eintrag in der für jeden rt_numcombo Tabelle existiert in dem route Tisch, an dem ein PDate Einträge hat. Ich bin an diesem Punkt total verloren.

Route Tabelle

id | rt_num | name | 
----|--------------|------| 
    1 | 123 east  | Ron | 
    2 | 2North  | Ted | 
    4 | 909   | Ted | 

Combo Tabelle

id | Route | PDate    | 
----|----------|---------------------| 
    1 | 123 east | 2017-02-15 08:55:04 | 
    2 | 2North | 2017-02-16 10:55:04 | 

Results Tabelle

rt_num | Pdate | 
----------|-------------| 
123 east | 2017-02-16 | 
123 east | 2017-02-17 | 
2North | 2017-02-15 | 
2Notrh | 2017-02-17 | 
909  | 2017-02-15 | 
909  | 2017-02-16 | 
909  | 2017-02-17 | 

Mehr Info:

Ich habe diese 2 Abfragen: SELECT DISTINCT r.rt_num, DATUMSFORMAT (PDate, '% Y-% m-% d') von Route r, Combo; SELECT DISTINCT Route, DATUMSFORMAT (PDate, '% Y-% m-% d') von Combo; jedes die benötigten Daten zurückgeben, muss ich sie nebeneinander anzeigen passend rt_num mit PDate zu Route mit PDate oder NULL Ich hoffe, dies ist eine bessere Erklärung dessen, was ich versuche zu tun.

+0

Ihre Ergebnisse mit der Probeneingabe nicht konsistent sind, können Sie dieses Problem zu beheben, damit wir besser verstehen können, was Sie brauchen ? Was hast du probiert? Was war das Ergebnis und was war das Problem? –

+0

und wie Sie das Pdate verwalten .. warum 3 pdate und nicht 100 ???? – scaisEdge

Antwort

1

können Sie sich nicht in QUERY verwenden

SELECT * FROM `route` WHERE route.rt_num NOT IN (SELECT `Route ` FROM `combo`); 

Diese Abfrage Rückgabewert, die in Combo-Tabelle nicht vorhanden ist.

0

Die folgende Abfrage tut, was ich brauche es dank Peter Brawley zu Hilfe zu tun

select a.rt_num, a.tdate, b.Route 
from ( 
    select distinct r.rt_num, date_format(t.PDdate,'%y-%m-%d') as tdate 
    from route r 
    join combo t on r.rt_num IS NOT NULL  
) as a 
left join (
    select distinct Route, date_format(PDdate,'%y-%m-%d') as pudate 
    from combo 
) as b on b.Route = a.rt_num and b.pudate = a.tdate ;