我有两个表,我正在做一个完整的外连接.表有一个时间戳列.我希望通过时间戳排序连接的结果.比如表a有行
X timestamp
92408413 12/22/2011 11:23:36 AM
92408414 12/22/2011 11:23:40 AM
92408417 12/22/2011 11:23:45 AM
92408419 12/22/2011 11:23:49 AM
92408423 12/22/2011 11:23:55 AM
92408424 12/22/2011 11:23:57 AM
92408426 12/22/2011 11:24:01 AM
92408427 12/22/2011 11:24:09 AM
92408430 12/22/2011 11:24:33 AM
92408435 12/22/2011 11:25:03 AM
92408437 12/22/2011 11:25:13 AM
92408497 12/22/2011 11:31:09 AM
92408498 12/22/2011 11:31:10 AM
92408499 12/22/2011 11:31:12 AM
Run Code Online (Sandbox Code Playgroud)
Y X timestamp
5020926963 92408430 12/22/2011 11:24:33 AM
5020926968 92408435 12/22/2011 11:25:03 AM
5020926970 92408435 12/22/2011 11:25:05 AM
5020926972 92408437 12/22/2011 11:25:14 AM
5020926981 -1 12/22/2011 11:31:09 AM
5020926982 -1 12/22/2011 11:31:10 AM
5020926984 92408499 12/22/2011 11:31:12 AM
Run Code Online (Sandbox Code Playgroud)
现在,如果我的查询看起来像
SELECT *
FROM tablea
FULL OUTER JOIN tableb
ON tablea.x = tableb.x
AND tablea.w = tableb.w
WHERE tablea.x = 'somevalue'
OR tableb.x = 'somevalue'
ORDER BY tablea.timestamp,
tableb.timestamp
Run Code Online (Sandbox Code Playgroud)
查询的结果是:
92408413 12/22/2011 11:23:36 AM
92408414 12/22/2011 11:23:40 AM
92408417 12/22/2011 11:23:45 AM
92408419 12/22/2011 11:23:49 AM
92408423 12/22/2011 11:23:55 AM
92408424 12/22/2011 11:23:57 AM
92408426 12/22/2011 11:24:01 AM
92408427 12/22/2011 11:24:09 AM
92408430 12/22/2011 11:24:33 AM 5020926963 12/22/2011 11:24:33 AM
92408435 12/22/2011 11:25:03 AM 5020926968 12/22/2011 11:25:03 AM
92408435 12/22/2011 11:25:03 AM 5020926970 12/22/2011 11:25:05 AM
92408437 12/22/2011 11:25:13 AM 5020926972 12/22/2011 11:25:14 AM
92408497 12/22/2011 11:31:09 AM
92408498 12/22/2011 11:31:10 AM
92408499 12/22/2011 11:31:12 AM 5020926984 12/22/2011 11:31:12 AM
5020926981 12/22/2011 11:31:09 AM
5020926982 12/22/2011 11:31:10 AM
Run Code Online (Sandbox Code Playgroud)
现在,这个查询首先按TableA的tiemstamp和TableB的顺序排序.我希望结果按时间戳(按时间顺序)排序.所以基本上按(TableA.timestamp + TableB.timestamp)排序.如您所见,表A中有一行,其中时间戳为'92408497 12/22/2011 11:31:09 AM'我希望结果中的下一行有一个表B中的列,该列具有相同的时间戳' 5020926981 -1 12/22/2011 11:31:09 AM'
我在Oracle 11.2数据库上.
谢谢,