Oracle8i内でそれらをリンクするためのキーを持たない2つのテーブルを接続したい状況があります。表Aにいくつかの情報と日時があり、表Bにいくつかの情報と日時があります。私が欲しいのは、表Aのすべてと、表Aの時間の表Bの対応するデータです。以下でモックアップします。
Table A | Table B
John 31/07/2012 10:50:32 | Travel to Library 31/07/2012 10:48:23
John 31/07/2012 10:55:49 | Arrive at Library 31/07/2012 11:02:34
John 31/07/2012 11:00:15 | Reading Book 31/07/2012 11:07:11
John 31/07/2012 11:05:23 |
John 31/07/2012 11:10:12 |
私が作成したいのはこれです:
John 31/07/2012 10:50:32 Travel to Library
John 31/07/2012 10:55:49 Travel to Library
John 31/07/2012 11:00:15 Travel to Library
John 31/07/2012 11:05:23 Arrive at Library
John 31/07/2012 11:10:12 Reading Book
疑われるかもしれませんが、これは、5分ごとに受信するGPSデータを含むテーブルと、アクティビティを一覧表示するまったく関係のない別のテーブルに関連しています。これまでの私の最も近い試みは、2つの部分でクエリを作成することでした。最初の部分は、アクティビティを調べてアクティビティの日付と次のアクティビティの日付を返し、関係者の名前に基づいて2つのテーブルを接続し、GPSデータを返します。 2つのアクティビティの日付の間にある場合は、GPSの日付と次のGPSの日付を逆にして、それらの間にある場合はアクティビティを返します。どちらの方法でも、いずれかのデータセットのすべてが返されるわけではありません。
私の主な誤動作は、日付時刻の前後を取得するためのリープ/ラグ関数の使用にあると感じています。おそらく私は明白な答えを見落としているだけです。
私は本当にこれで正しい方向に私を向けるためにいくつかの助けを使うことができました。