2017-10-30 1 views
0

Ich habe drei Tabellen. Alle drei haben einen Primärschlüssel. Eine Tabelle ist wie eine Aufzählung mit Ereignissen. Die zweite Tabelle enthält einige Informationen über ein Auto.Holen Sie sich alle Einträge von Log wo Schlüssel nie ist

Also jedes Mal wenn ich den Status des Autos ändere, log ich in die dritte Tabelle. Die dritte Tabelle enthält die carId und die eventId.

So wie alle Autos zu bekommen, die nie hatte zum Beispiel Ereignis 6.

+5

hinzufügen suchen und das erwartete Ergebnis. (Als formatierter Text, keine Bilder.) Zeigen Sie uns auch Ihren aktuellen Abfrageversuch an. – jarlh

Antwort

0

Tabelle 1 - Car_Details (Carid, car_name) Tabelle 2 - Event_details (eventid, event_name) Tabelle 3 - car_event_details (carid , eventid)

select distinct carid,car_name 
from car_details c, 
event_Details e, 
car_event_details ce 
where c.carid = ce.carid 
and e.eventid = ce.eventid 
and ce.eventid <> 6; 

ich verwendet habe deutlich wie bei jedem Status ein Protokoll ändert eingeführt wird, so gibt es mehrere Einträge in Protokolltabelle sein kann, wenn gleiche Auto durch denselben Status mehrmals gegangen ist.

1

Ich weiß nicht, die Tabellenstrukturen, aber ich denke, Sie so etwas wie diese einige Beispieltabellendaten

select * from 
CarInformation C 
inner join Event E on C.eventId = E.Id 
WHERE 
NOT EXISTS (SELECT * FROM LogTable WHERE carId = C.id AND eventId = C.eventId) 
+0

Genau das suche ich. –

Verwandte Themen