Поясню на примере, что мне надобно сделать:
Есть такая таблица —
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асколько проще была бы жизнь, если бы она была в исходниках.