sql - How to get the last record from Ms Access table -


i have 2 tables named reefers , alerts. want join these 2 tables.

now, how result shows last record of each reeferno alerts table alerttype equal "temperatures"?

table 1: reefers                             reeferno    transporter                      e-110       express1                         e-111       express1                         e-112       express1                         a-001       a-trucking                       a-002       a-trucking                        table 2: alerts                          alertdatetime   receiveddatetime    alerttype   reeferno    temperature location         5/2/15 9:53  5/2/15 9:58     arrival       e-110        5.2      warehouse         5/2/15 9:48  5/2/15 9:53     departure     e-111        5.4      warehouse         5/2/15 9:40  5/2/15 9:45     temperatures  a-001        11.37    warehouse         5/2/15 9:38  5/2/15 9:43     temperatures  a-001        10.06    store         5/2/15 9:35  5/2/15 9:40     temperatures  a-001        10.02    store         5/2/15 9:19  5/2/15 9:24     departure     a-001        10.02    store         5/2/15 9:12  5/2/15 9:17     temperatures  a-002        10.37    warehouse         5/2/15 9:06  5/2/15 9:11     temperatures  a-002        12.62    warehouse         5/2/15 9:04  5/2/15 9:09     arrival       a-002        12.62    warehouse         

result must be:

reeferno  transporter   alertdatetime   receiveddatetime    alerttype   temperature location e-110     express1 e-111     express1 e-112     express1 a-001     a-trucking   5/2/15 9:40   5/2/15 9:45    temperatures     11.37       warehouse a-002     a-trucking   5/2/15 9:12   5/2/15 9:17    temperatures     10.37       warehouse 

i'm using below code it's not giving me result want.

select reefers.reeferno, reefers.transporter, alerts.alerttype,      alerts.alertdatetime, alerts.temperature, alerts.location,  alerts.receiveddatetime reefers inner join (alerts inner join (select  alerts.reeferno,  max(alerts.receiveddatetime)  maxreceiveddatetime  alerts  group alerts.reeferno)  temptable on (alerts.reeferno =      temptable.reeferno) , (alerts.receiveddatetime =  temptable.maxreceiveddatetime)) on reefers.reeferno = alerts.reeferno (((alerts.alerttype)="temperatures")); 

update:

i changed required result. instead of word null, leave blank reefers without temperatures alerttype.

start query pulls want reefers had @ least 1 temperature alert:

select     sub1.reeferno,     a2.alertdatetime,     a2.receiveddatetime,     a2.alerttype,     a2.temperature,     a2.location     (         select             a1.reeferno,             max(a1.alertdatetime) maxofalertdatetime         alerts a1         a1.alerttype='temperatures'         group a1.reeferno     ) sub1     inner join alerts a2     on             (sub1.maxofalertdatetime = a2.alertdatetime)         , (sub1.reeferno = a2.reeferno); 

then left join reefers table subquery based on first query ...

select     r.reeferno,     r.transporter,     sub2.alertdatetime,     sub2.receiveddatetime,     sub2.alerttype,     sub2.temperature,     sub2.location     reefers r     left join     (         select             sub1.reeferno,             a2.alertdatetime,             a2.receiveddatetime,             a2.alerttype,             a2.temperature,             a2.location                     (                 select                     a1.reeferno,                     max(a1.alertdatetime) maxofalertdatetime                 alerts a1                 a1.alerttype='temperatures'                 group a1.reeferno             ) sub1             inner join alerts a2             on                     (sub1.maxofalertdatetime = a2.alertdatetime)                 , (sub1.reeferno = a2.reeferno)         ) sub2     on r.reeferno = sub2.reeferno; 

Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -