現在の部屋番号と以前の部屋番号を取得しようとしているデータベースがあります。
データはこんな感じ。表 X
Name, room_number, Start_Date, End_Date, status
Bob, A1, 2015-04-03, null, transfer
Bob, B5, 2013-04-15, 2015-04-03, somestatus
Bob, B7, 2011-04-15, 2013-04-15, someotherstatus
Smith, A2, 2015-04-03, null, transfer
Smith, B4, 2013-10-15, 2015-04-03, someotherstatus
Smith, B8, 2011-04-15, 2013-10-15, somestatus
私が取り戻したいのは以下です。
Bob, A1, 2015-04-03, null, transfer 現在の部屋 Bob, B5, 2013-04-15, 2015-04-03 前の部屋 Smith, A2, 2015-04-03, null, transfer 現在の部屋 Smith, B4 , 2013-10-15, 2015-04-03 前の部屋
これが十分に明確かどうか教えてください。
私が現在持っているのは
Select Name, room_number, Start_Date, End_Date, status
from TableX
where start_date = today
and status = transfer
これにより、すべての人の部屋が得られます。転送以外のステータスは何の意味もないため、以前の部屋番号を取得する方法がわかりません。共通点は、現在の部屋の場合、終了日が null ではないことです。
ありがとう