私は2つの異なるテーブルを使って機器の位置を追跡しています。 「機器」テーブルは、現在の場所とそこにインストールされた時刻を追跡します。機器が以前は別の場所にあった場合、その情報は「locationHistory」テーブルに保持されます。機器テーブルには、equip_idごとに1つの行があります。 locationHistoryテーブルには、equip_idごとに0つ以上のエントリがあります。私はeqipmentの各部分のためのFIRST INSTALL_DATEの日付を取得するSQLクエリをしたい2つの異なるフィールドの最小値を得るためのSQL
equipment
equip_id
current_location
install_date_at_location
locationHistory
equip_id
location
install_date
pickup_date
...
例:
equipment
=========
equip_id | current_location | install_date_at_location
123 location1 1/23/2011
locationHistory
===============
equip_id | location | install_date | pickup_date
123 location2 1/1/2011 1/5/2011
123 location3 1/7/2011 1/20/2011
が返す必要があります:123, 1/1/2011
思考?
どのデータベースですか? –
あなたは自分自身をより簡単にすることができ、データベースを正規化して*すべて* location/installデータを 'locationHistory'テーブルに持たせることができます。 –
@oli Charlesworth:履歴のレコードを別のテーブルに移動することは、テーブルの分割方法と同様にパフォーマンスを向上させます。 –