比较两个表的差异

时间:2012-01-14 18:12:44

标签: c#

我想比较两个不同的表格。两张表都包含出发和到达时间,数据类型时间为08:30:00。我想比较表格中的出发时间和到达时间的延迟。我在LINQ玩弄了Except,但似乎没什么用。我使用的是asp.net mvc 3。

让我更具体一点。总共有4个表,TrainID与TrainID,Station with StationID和StationName,Schedule with ScheduleID,TrainID,StationID,ArrivalTime和DepartureTime,以及RegistrationID,TrainID,StationID,ArrivalTime和DepartureTime。 TrainID和StationID是Schedule and Registration表中的外键,但是Schedule表和注册表之间没有关系。

计划表是只读的。

所以我想知道每次注册表与Schedule表相比都有延迟,所以我可以对延迟做一些统计。

1 个答案:

答案 0 :(得分:1)

如果没有您的具体数据模型,我们只能推测,但看起来您需要基于公共ID在两个表之间进行连接。比如说您对航班到达和离开及其延误感兴趣,那么您可以计算每次航班的延误,即类似于:

var delaysByFlight = from flight in db.ScheduledFlights
                     join record in db.RegisteredTimes
                     on flight.Id equals record.FlightId
                     select new 
                     {
                        FlightId = flight.Id,
                        Delay = record.RealArrivalTime - flight.ScheduledArrivalTime
                     };