У меня есть база данных, где я ищу, чтобы получить текущие номера комнат и номера предыдущих номеров.Текущий и предыдущий статус T-SQL
Данные выглядят следующим образом. Таблица 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, перевод Текущий номер Bob, B5, 2013-04-15, 2015-04-03 Предыдущая комната Smith, A2, 2015-04-03, null, перевод Текущий номер 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
, который дает мне все люди номера. Не уверен, как получить номера предыдущих номеров, потому что статус вне передачи ничего не значит. Общность в том, что дата окончания не нулевое значение, если это их текущий номер
Благодаря
Какая версия SQL Server вы используете? – Stephan
Я использую SQL 2005 –