2016-12-14 1 views
1

У меня есть таблица с 5 столбцами в HANA. Имя таблицы - это студенты, а следующие - поля - имя, возраст, адрес, пол, оценка. Мне нужно получить различные значения каждого из столбцов. Например, таблица IS-Как получить все различные значения всех столбцов, но сохранить исходную структуру таблицы?

 Name Age Address Gender Score 
     A  1  abc  F  10 
     C  3  abc  M  10 
     B  2  def  M  5 
     C  3  ghi  F  10 
     D  2  def  M  5 

Ожидаемые результаты это-

 Name Age Address Gender Score 
     A  1  abc  F  10 
     B  2  def  M  5 
     C  3  ghi    

Пожалуйста, подсказывают, как добиться этого с помощью взглядов или odata.None дискуссий, доступных, как представляется, useful.I не хотят UNION, потому что он сочетает в себе все значения в один столбец в результате.

+0

С этим примером данных таблицы, каков ожидаемый результат? – jarlh

+0

Я думаю, у вас есть опечатка в ожидаемых результатах для 'Age'. В любом случае, имеет ли значение значение значение для вас, или это то, что вы задали в вопросе только один конкретный действительный результат? – hvd

ответ

2

У меня нет доступа к Хану, но это может сделать работу

select  min (name) as name 
      ,min (Age)  as Age 
      ,min (Address) as Address 
      ,min (Gender) as Gender 
      ,min (Score) as Score 

from  (   select Name ,Age ,Address ,Gender ,Score ,1000000000 as n      from students where 1=2 

      union all select Name ,null ,null ,null ,null ,row_number() over (order by Name) from students group by Name 
      union all select null ,Age ,null ,null ,null ,row_number() over (order by Age)  from students group by Age 
      union all select null ,null ,Address ,null ,null ,row_number() over (order by Address) from students group by Address 
      union all select null ,null ,null ,Gender ,null ,row_number() over (order by Gender) from students group by Gender 
      union all select null ,null ,null ,null ,Score ,row_number() over (order by Score) from students group by Score 
      ) s 

group by n 

order by n 
; 

+------+-----+---------+--------+--------+ 
| name | age | address | gender | score | 
+------+-----+---------+--------+--------+ 
| A | 1 | abc  | F  | 5  | 
+------+-----+---------+--------+--------+ 
| B | 2 | def  | M  | 10  | 
+------+-----+---------+--------+--------+ 
| C | 3 | ghi  |  |  | 
+------+-----+---------+--------+--------+ 

Для образовательных целей, вот результаты внутреннего запроса:

+------+-----+---------+--------+-------+---+ 
| name | age | address | gender | score | n | 
+------+-----+---------+--------+-------+---+ 
| A |  |   |  |  | 1 | 
+------+-----+---------+--------+-------+---+ 
| B |  |   |  |  | 2 | 
+------+-----+---------+--------+-------+---+ 
| C |  |   |  |  | 3 | 
+------+-----+---------+--------+-------+---+ 
|  | 1 |   |  |  | 1 | 
+------+-----+---------+--------+-------+---+ 
|  | 2 |   |  |  | 2 | 
+------+-----+---------+--------+-------+---+ 
|  | 3 |   |  |  | 3 | 
+------+-----+---------+--------+-------+---+ 
|  |  | abc  |  |  | 1 | 
+------+-----+---------+--------+-------+---+ 
|  |  | def  |  |  | 2 | 
+------+-----+---------+--------+-------+---+ 
|  |  | ghi  |  |  | 3 | 
+------+-----+---------+--------+-------+---+ 
|  |  |   | F  |  | 1 | 
+------+-----+---------+--------+-------+---+ 
|  |  |   | M  |  | 2 | 
+------+-----+---------+--------+-------+---+ 
|  |  |   |  | 5  | 1 | 
+------+-----+---------+--------+-------+---+ 
|  |  |   |  | 10 | 2 | 
+------+-----+---------+--------+-------+---+ 
Смежные вопросы