У меня есть таблица дефектов, которая выглядит так:
Ref# ID# Severity Status Found_Date Verified_Date Resolve_Date
1001 21 2 Verified 6/19/2011 6/25/2011
1001 21 2 Verified 6/19/2010 9/18/2011
1001 21 3 Fixed 6/19/2010 10/12/2011 10/12/2011
В этой системе пользователь может ввести запись, которая будет иметь Verified_Date
(как в строке 1).
Позже пользователь может вернуться в систему и внести изменения, и система сгенерирует новую запись с теми же Ref#
и ID#
, однако у нее будет другая Verified_Date
(как в строке 2).
Чтобы сделать его еще более сложным, пользователь может вернуться в систему и изменить значение Severity
, которое сгенерирует третью запись, и эта запись будет иметь еще другую Verified_Date
, но она будет иметь то же самое Ref#
и "ID#
.
Мне было поручено написать запрос, который вернет следующий результат:
Initial Final Initial Final
Ref# ID# Severity Severity Status Found_Dt Verified_Dt Verified_Dt Resolve_Dt
1001 21 2 3 Fixed 6/19/2011 9/18/2011 10/12/2011 10/12/2011
Предполагается, что приведенная выше запись является результатом запроса, в котором будут перечислены все записи, в которых произошли изменения Severity
, и будет представлена их в вышеуказанном формате с указанием Initial_Verified_Dt
, Final_Verified_Dt
, Initial_Severity
и Final_Severity
. Я написал запрос, чтобы сравнить таблицу с самой собой и вернуть все значения, где ID#
было одинаковым, но severity
отличается. Проблема в том, что я получаю следующий результат:
Initial Final Initial Final
Ref# ID# Severity Severity Status Found_Dt Verified_Dt Verified_Dt Resolve_Dt
1001 21 2 3 Fixed 6/19/2011 9/18/2011 10/12/2011 10/12/2011
1001 21 3 2 Fixed 6/19/2011 9/18/2011 10/12/2011 10/12/2011
1001 21 2 3 Fixed 6/19/2011 10/12/2011 9/18/2011 10/12/2011
1001 21 3 2 Fixed 6/19/2011 10/12/2011 9/18/2011 10/12/2011
Я получаю каждую комбинацию и не могу понять, как сравнить таблицу с собой и найти правильный ответ. Я надеюсь, что объяснил это достаточно ясно, и заранее благодарю за помощь.