У меня есть интересная проблема с SQL, с которой мне нужна помощь.
Вот пример набора данных:
Warehouse DateStamp TimeStamp ItemNumber ID
A 8/1/2009 10001 abc 1
B 8/1/2009 10002 abc 1
A 8/3/2009 12144 qrs 5
C 8/3/2009 12143 qrs 5
D 8/5/2009 6754 xyz 6
B 8/5/2009 6755 xyz 6
Этот набор данных представляет перемещение запасов между двумя складами. Каждая передача представляет две записи, и эти две записи передачи всегда имеют одинаковый ItemNumber, DateStamp и ID. Значения TimeStamp для двух записей о перемещении всегда имеют разность, равную 1, где меньшее значение TimeStamp представляет запись исходного хранилища, а большее значение TimeStamp представляет запись хранилища назначения.
Используя пример набора данных выше, вот набор результатов запроса, который мне нужен:
Warehouse_Source Warehouse_Destination ItemNumber DateStamp
A B abc 8/1/2009
C A qrs 8/3/2009
D B xyz 8/5/2009
Я могу написать код для получения желаемого набора результатов, но мне было интересно, возможна ли эта комбинация записей с помощью SQL. Я использую SQL Server 2005 в качестве базовой базы данных. Мне также нужно добавить предложение WHERE в SQL, чтобы, например, я мог искать на Warehouse_Source = A. И нет, я не могу изменить модель данных ;).
Любые советы высоко ценится!
С уважением, Марк