Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.07.06;
Скачать: CL | DM;

Вниз

Выборка "в ширину". Можно ли такое сделать?   Найти похожие ветки 

 
Очень злой   (2011-03-04 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   (2011-03-04 11:56) [1]

PIVOT


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

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


 
Очень злой   (2011-03-04 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

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

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


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

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

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


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


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


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


 
Sergey13 ©   (2011-03-04 17:08) [6]

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


 
OW ©   (2011-03-05 09:35) [7]


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

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



Страницы: 1 вся ветка

Текущий архив: 2014.07.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
3-1299228082
Очень злой
2011-03-04 11:41
2014.07.06
Выборка "в ширину". Можно ли такое сделать?


3-1299090765
John_Vattic
2011-03-02 21:32
2014.07.06
Access 2007 и Delphi 7


15-1387016736
картман
2013-12-14 14:25
2014.07.06
батарейка


2-1378360486
Елена
2013-09-05 09:54
2014.07.06
Курсор в stringgrid


15-1386322461
Пит
2013-12-06 13:34
2014.07.06
система контроля версий для БД