从Log中获取所有条目,其中Key永远不会

时间:2017-10-30 09:56:50

标签: sql sql-server

我有三张桌子。他们三个都有一个主键。一个表就像一个包含事件的枚举。第二个表格提供了有关汽车的一些信息。

所以每当我改变汽车的状态时,我都会在第三张表中放入一个日志。第三个表格提供了carIdeventId

所以如何获得所有从未有过的汽车,例如,事件6。

2 个答案:

答案 0 :(得分:1)

我不知道表结构,但我认为你看起来像这样

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)

答案 1 :(得分:0)

表1 - Car_Details(Carid,car_name) 表2 - Event_details(eventid,event_name) 表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;

我使用了distinct,因为每次状态更改时都会插入日志,因此如果同一辆汽车多次经历同一状态,则日志表中可能会有多个条目。