PostgreSQL插入的行与select不同

时间:2016-03-11 14:57:52

标签: database postgresql select sql-insert

我在PostgreSQL中遇到INSERT问题。我有这个问题:

INSERT INTO track_segments(tid, gdid1, gdid2, distance, speed)
SELECT * FROM (
SELECT DISTINCT ON (pga.gdid) 
pga.tid as ntid,
pga.gdid as gdid1, pgb.gdid as gdid2,
ST_Distance(pga.geopoint, pgb.geopoint) AS segdist, 
(ST_Distance(pga.geopoint, pgb.geopoint) / EXTRACT(EPOCH FROM (pgb.timestamp - pga.timestamp + interval '0.1 second'))) as speed
FROM fl_pure_geodata AS pga
LEFT OUTER JOIN fl_pure_geodata AS pgb ON (pga.timestamp < pgb.timestamp AND pga.tid = pgb.tid) 
ORDER BY pga.gdid ASC) AS sq
WHERE sq.gdid2 IS NOT NULL;

使用成对连接的地理位置分段填充表格。当我单独运行SELECT时,我得到了正确的对,但是当我在上面的语句中使用它时,有些是以错误的方式配对或根本不配对。这就是我的意思: