У меня есть данные, подобные этому:
Arrange Id | Begin Date | End Date | Dept Id
------------+-------------+----------+-----------
11345 01/02/2001 02/03/2003 2230
11345 02/03/2004 04/05/2005 2230
11345 04/06/2005 06/06/2006 2210
11345 05/06/2007 07/09/2008 2210
11345 08/09/2009 11/23/2010 2230
11454 04/01/2008 04/07/2008 1100
11454 04/08/2008 05/06/2009 1100
11454 05/07/2009 07/09/2010 1300
11454 08/07/2011 10/23/2012 1100
Ожидаемый результат:
Arrange Id | Begin Date | End Date | Dept Id
------------+-------------+----------+-----------
11345 01/02/2001 04/05/2005 2230
11345 04/06/2005 07/09/2008 2210
11345 08/09/2009 11/23/2010 2230
11454 04/01/2008 05/06/2009 1100
11454 05/07/2009 07/09/2010 1300
11454 08/07/2011 10/23/2012 1100
Я хочу, чтобы данные были разбиты на основе Arrange Id
, мне нужно взять Min(Begin Date)
, Max(End Date)
даты для каждого Arrange id
, Dept Id
.. Но Dept Id
повторяется, как первоначально 6620, 6630, 6640, затем снова 6620 и т. Д.
Мне нужно показать значения в соответствии с ожидаемым выводом, показанным выше. Если я разделю на основе группы Arrange Id, Dept Id
, например, в приведенном выше случае 11345, 2230 dept id Я получаю одно значение, но мне нужны два разных значения, как показано выше ..
Кто-нибудь может мне помочь с этим решением, написав SQL-запрос (для Oracle)?