Как удалить повторяющиеся значения столбцов из отчета - PullRequest
1 голос
/ 16 ноября 2010

ОТ ЭТОГО:

Hotel                     Type   Room Guest                                     From      To
    ------------------------- ------ ---- ----------------------------------------- --------- ---------
    University Inn & Suites   Double 101  George Brown                              11-SEP-10 14-SEP-10
    University Inn & Suites   Double 101  George Brown                              11-OCT-10 13-OCT-10
    University Inn & Suites   Double 102
    University Inn & Suites   Double 103
    University Inn & Suites   Double 104
    University Inn & Suites   Double 105
    University Inn & Suites   Family 106  George Brooks                             22-SEP-10 27-SEP-10
    University Inn & Suites   Family 107
    University Inn & Suites   Single 201  Sandra Williams                           15-SEP-10 19-SEP-10
    University Inn & Suites   Single 201  Liz Armstrong                             16-SEP-10 18-SEP-10
    University Inn & Suites   Single 201  Craig Harper                              19-SEP-10 22-SEP-10
    University Inn & Suites   Single 202  Roger Harris                              03-SEP-10 10-SEP-10
    University Inn & Suites   Single 202  Tonya Harris                              23-SEP-10 27-SEP-10
    University Inn & Suites   Single 203
    University Inn & Suites   Single 204
    University Inn & Suites   Single 205

ДО ЭТОГО

    Hotel                     Type   Room Guest                                     From      To
    ------------------------- ------ ---- ----------------------------------------- --------- ---------
    University Inn & Suites   Double 101  George Brown                              11-SEP-10 14-SEP-10
                                          George Brown                              11-OCT-10 13-OCT-10
                                     102  
                                     103
                                     104
                                     105
                              Family 106  George Brooks                             22-SEP-10 27-SEP-10
                                     107
                              Single 201  Sandra Williams                           15-SEP-10 19-SEP-10
                                     201  Liz Armstrong                             16-SEP-10 18-SEP-10
                                          Craig Harper                              19-SEP-10 22-SEP-10
                                     202  Roger Harris                              03-SEP-10 10-SEP-10
                                          Tonya Harris                              23-SEP-10 27-SEP-10
                                     203
                                     204
                                     205

Ответы [ 2 ]

5 голосов
/ 16 ноября 2010

Это структура таблицы, которую вы показываете (или) это результат отчета?

Мне кажется, это результат отчета SQLPLUS.Если это так, и вы хотите, чтобы название отеля появлялось один раз (до тех пор, пока оно не изменится), вы можете указать

Break on hotel;

Select hotel, type, room_guest
  from hotels
  order by hotel;

для достижения желаемого результата.Вы не можете удалить значения столбца для всех, кроме первой строки.(на самом деле, нет ничего лучше первого ряда в отношении базы данных).Если вы пытаетесь устранить дубликаты данных, посмотрите на нормализацию таблицы.

http://en.wikipedia.org/wiki/Database_normalization\

Пожалуйста, опубликуйте описание таблицы и инструмент (если есть), чтобы вы получилисоответствующие ответы для вашего случая.

3 голосов
/ 16 ноября 2010

Как насчет использования lag для доступа к предыдущей строке и проверки, имеет ли она то же значение, что и текущая?

select decode(hotel,
              lag(hotel, 1, null) over (order by hotel, room, ...), null,
              hotel) as "Hotel"
  from ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...