Несколько полей засунуть в один столбец?
От: Sergeem Израиль  
Дата: 25.02.04 15:14
Оценка:
Поясню на примере, что мне надобно сделать:
Есть такая таблица —

ID KEY1 KEY2 KEY3 NAME1
1  ka1  ka2  ka3  aaa
2  kb1       kb3  bbb


А мне нужно получить view такого вида —

KEY ID NAME1
ka1 1  aaa
ka2 1  aaa
ka3 1  aaa
kb1 2  bbb
kb3 2  bbb


Делаю так (бд Oracle):

create view myview as
  select key1 key, id, name1 from mytable where key1 is not null
  union
  select key2 key, id, name1 from mytable where key2 is not null
  union
  select key3 key, id, name1 from mytable where key3 is not null


Хотелось бы избавиться от union.
Существует ли более изящный способ?

Еще один вопрос — всегда ли union сортирует записи? То есть могу ли я быть уверенным, что строчки с одинаковым ID придут "вместе"?
Serge.

Hасколько проще была бы жизнь, если бы она была в исходниках.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.