2012-03-16 19 views
1

私は自分のデータベースのクエリを作成していますが、基本的に各部屋で起こっているイベントのデータベースを照会します。私は部屋の1で起こっ最古のイベントと私は1つの部屋のためにこのクエリを実行するためのコードを持って下の部屋2.各配列要素の同じSQLクエリ

で起こっ最古のイベントを検索することを意味しています。このコードでは、部屋2の最も早いイベントのみが返されます。部屋1の最も早いイベントと部屋2の最も早いイベントを検索し、1回のクエリで返すクエリを実行するにはどうすればよいですか?

これは、配列の各要素に対して1つのクエリでクエリを実行することになります。これは可能ですか、各部屋の質問を書く必要がありますか?例えばのために

select name, 
     eventtime, 
     MIN(eventtime - currenttime) as time_from_test 
from  the_table 
where the_table.room = Room1 
group by the_table.room 
order by time_from_test 
limit 1 

事前に感謝

+0

... – Teja

答えて

3
select the_table.room,MIN(eventtime) as event_start_time_of_day 
from  the_table 
group by the_table.room; 

。 5つの部屋があり、各部屋に5つのイベント時間がある場合、このクエリは最小イベント時間を取得し、ルームレベルですべてのイベントをグループ化することで戻します。列によってウルグループは、select句と一致しませんR

+0

はあなたが再びthe_tableに戻って参加することができ(the_table.nameのような)より多くの情報を得るために、私は思います。 – Dave

+0

他の情報を得るために私は部屋の同じテーブルに参加してそれを取得することができます... – Teja

+0

こんにちはVenk、私は別のテーブルから部屋を取得していますか?現在のテーブルで、他のテーブルから選択した部屋の中で、最も早いイベントをどのように見つけることができますか? 基本的には、別のテーブルのルームを見つけて、現在のテーブルをイベントのルックアップテーブルとして使用します – maknelly

関連する問題