2013-02-06 37 views
0

我有兩個SQL表,alarmMessagecoordinates選擇單行。 alarmMessage表的外鍵字段爲coordinates表。我想從alarmMessage表中檢索單個行,其座標具有最新(最大)的gpsDate字段。sql中根據國外最新的關鍵日期字段

alarmMessage:

CREATE TABLE alarmmessage 
(
    alarmmessageid bigint NOT NULL, 
    mtstrackid character varying(40), 
    coordinatesid bigint, 
    totaldistance double precision, 
    iostatusid bigint, 
    alarmstatus character varying(10), 
    totalworkingduration integer, 
    maintenanceremainingtime integer, 
    isread boolean NOT NULL DEFAULT false, 
    CONSTRAINT pk_alarmmessageid PRIMARY KEY (alarmmessageid), 
    CONSTRAINT fk_coordinatesid FOREIGN KEY (coordinatesid) 
     REFERENCES coordinates (coordinatesid) MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION, 
    CONSTRAINT fk_iostatus FOREIGN KEY (iostatusid) 
     REFERENCES iostatus (iostatusid) MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION, 
    CONSTRAINT fk_mtstrackid FOREIGN KEY (mtstrackid) 
     REFERENCES vehicle (mtstrackid) MATCH SIMPLE 
     ON UPDATE NO ACTION ON DELETE NO ACTION 
) 

座標:

CREATE TABLE coordinates 
(
    coordinatesid bigint NOT NULL, 
    latitude double precision NOT NULL, 
    longitude double precision NOT NULL, 
    gpsvalid boolean, 
    gpsdate timestamp without time zone, 
    bearingangle double precision, 
    speed double precision, 
    mtstrackid character varying(40), 
    altitude double precision, 
    CONSTRAINT pk_coordinates PRIMARY KEY (coordinatesid) 
) 

回答

0

您可以使用下面的SQL:

SELECT alarmmessage.* FROM alarmmessage 
INNER JOIN coordinates ON alarmmessage.coordinatesid = coordinates.coordinatesid 
ORDER BY gpsdate DESC 
LIMIT 1