Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выборка "в ширину". Можно ли такое сделать? [D7]


Очень злой ©   (2011-03-04 11:41:00) 

Например есть таблица/представление с данными (субд 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?
Если да, то как?


OW   (2011-03-05 09:35:00) [1]


> Очень злой   (04.03.11 16:31) [5]

Это так кажется, попробуй
тоже самое, лень было, а разобравшись - дел на 5 мин.


Sergey13   (2011-03-04 17:08:00) [2]

Как вариант - на клиенте развернуть в каком-нибудь датасете в памяти типа RxMemoryData.


Очень злой   (2011-03-04 16:31:00) [3]


> Как и было сказано - dynamic sql
> ничего нового под луной


Э... для Вас как для мастера, да.
а для меня ....


Игорь Шевченко   (2011-03-04 15:15:00) [4]

Очень злой   (04.03.11 13:53) [3]

Как и было сказано - dynamic sql
ничего нового под луной


Очень злой   (2011-03-04 13:53:00) [5]

Значения 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

Немного подправил, ибо автор видимо что-то попропускал в коде, и заработало...

Спасибо всем!


Кщд   (2011-03-04 12:23:00) [6]

>Очень злой   (04.03.11 11:41)  
если не 11g, то либо значения kodh должны быть конечным, строго определенным набором, либо dynamic sql.


Root   (2011-03-04 11:56:00) [7]

PIVOT


Наверх

Титульная страница Поиск, карта сайта Написать письмо