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

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

---|Ветка была без названия|---


McSimm2 ©   (2003-07-31 11:02:00) 

Есть таблица [Oracle]

Cap0 Cap1 Cap2 Cap3
----------------------
key1 val1 val2 val3
key2 val4 val5 val6


нужно получить

--------------
key1 Cap1 val1
key1 Cap2 val2
key1 Cap3 val3
key2 Cap1 val4
key2 Cap2 val5
key2 Cap3 val6

В одном запросе это можно осуществить ???


ЮЮ   (2003-08-01 03:33:00) [1]

>посмотри тему НЕРЕАЛЬНЫЙ ЗАПРОС

Тут, похоже, наоборт :-)
То, что тебуется получить в запросе - это как раз, IМНО, правильная структура хранения, а не наоборот.

А получить можно так:
SELECT Cap0, "Cap1", Cap1 FROM TABLE [WHERE NOT (Cap1 IS NULL)]
UNION
SELECT Cap0, "Cap2", Cap2 FROM TABLE [WHERE NOT (Cap2 IS NULL)]
UNION
SELECT Cap0, "Cap3", Cap3 FROM TABLE [WHERE NOT (Capn IS NULL)]

P.S. WHERE NOT (CapN IS NULL) следует добавить, если CapN бывают пустые и для них не надо порождать строку


stud   (2003-07-31 11:04:00) [2]

посмотри тему НЕРЕАЛЬНЫЙ ЗАПРОС


Наверх

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