-
Очень злой (04.03.11 11:41) [0]Например есть таблица/представление с данными (субд Oracle)
kodv kodh zn
111 D1 15
111 D5 17
111 D7 22
115 D1 35
115 D3 54
221 D3 11
221 D4 44
222 D4 12
нужно получить такую выборку:
kodv D1 D3 D4 D5 D7
111 15 null null 17 22
115 35 54 null null null
221 null 11 44 null null
222 null null 12 null null
Реально ли это сделать с помощью SQL?
Если да, то как? -
Root (04.03.11 11:56) [1]PIVOT
-
Кщд (04.03.11 12:23) [2]>Очень злой (04.03.11 11:41)
если не 11g, то либо значения kodh должны быть конечным, строго определенным набором, либо dynamic sql. -
Очень злой (04.03.11 13:53) [3]Значения kodh у меня не являются строго определенным набором, да и Oracle 9i
Но гугле по слову
> Root (04.03.11 11:56) [1]
>
> PIVOT
нашел:
http://my-oracle.it-blogs.com.ua/post-75.aspx
http://www.sql.ru/forum/actualthread.aspx?tid=409886&pg=-1
Немного подправил, ибо автор видимо что-то попропускал в коде, и заработало...
Спасибо всем! -
Игорь Шевченко © (04.03.11 15:15) [4]Очень злой (04.03.11 13:53) [3]
Как и было сказано - dynamic sql
ничего нового под луной -
Очень злой (04.03.11 16:31) [5]
> Как и было сказано - dynamic sql
> ничего нового под луной
Э... для Вас как для мастера, да.
а для меня .... -
Как вариант - на клиенте развернуть в каком-нибудь датасете в памяти типа RxMemoryData.
-
OW © (05.03.11 09:35) [7]
> Очень злой (04.03.11 16:31) [5]
Это так кажется, попробуй
тоже самое, лень было, а разобравшись - дел на 5 мин.