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

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

Как колонки сделать строками(SQL)


Страницы:   1 2

Kolan ©   (2006-11-10 15:05:00) 

Здравствуйте,
 есть таблица:
 Name   Value
  C       1
  R       7
  L       8

В результате запросо нужно получить:
C    R    L
1    7    8
Те поменять строки и столбцы местами.

Как сделать такой запрос?


Stanislav   (2006-11-13 12:20:00) [21]

Только в Group by нужно № поставить.


Stanislav   (2006-11-13 12:18:00) [22]

Так и будет, если у тебя MS SQL.


Kolan   (2006-11-13 12:16:00) [23]

Черт, все испртилось :( Понятно? Или еще раз запостить?


Kolan   (2006-11-13 12:15:00) [24]

Вот что я хочу на примере:
Дано 2 таблицы:

Params 
MeasurmentID ParamID ParamValue
1 1 10.0
1 2 20.0
1 3 33.0


и

ParamsDictionary 
ParamID ParamName  
1 R                    
2 L                    
3 C  
                 

Вот запрос:
SELECT Params.MeasurmentID, ParamsDictionary.ParamName, Params.ParamValue FROM
 Params, ParamsDictionary
WHERE
 Params.ParamID = ParamsDictionary.ParamID


Получаю:

№      ParamName                Value
1 R                    10.0
1 L                    20.0
1 C                    33.0


А нужно так:
№       R     L     C
1     10.0  20.0   33.0


Kolan   (2006-11-13 12:12:00) [25]

> но для каждого своя строка. Имхо.

Нет это негодится.. Таких записей много. Одна строчка-одно измерение.

> Stanislav ©   (13.11.06 10:39)

Не очень понял..


Stanislav   (2006-11-13 10:39:00) [26]

На MS SQL примерно делается так:

Select
C=Case when name='C' then max(value) else Null end
R=Case when name='R' then max(value) else Null end
from table
group by name


evvcom   (2006-11-13 09:28:00) [27]

> [4] Kolan ©   (10.11.06 19:01)

Лучше нафиг так не делай. Сделай простейшее дерево и TreeList-ом отображай. В корне

> Номер, Дата, Кто проводил

а в листьях

> параметры в виде R, L, C, Ct и так далее

но для каждого своя строка. Имхо.


sniknik   (2006-11-11 16:55:00) [28]

гдето просто, гдето потрудится... [2].


Kolan   (2006-11-11 16:07:00) [29]

Так что идей нет? Или это невозможно?


Kolan   (2006-11-10 19:01:00) [30]

Вот зачем мне это надо:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1161622321&n=1

Последние посты...

Так вот мне пользователю надо паказывать измерение так:
Номер, Дата, Кто проводил, и параметры в виде R, L, C, Ct и так далее(те в строчку...)


Desdechado   (2006-11-10 16:09:00) [31]

Если это просто для отображения, то искать на королевстве делфи nxdbgrid


Anatoly Podgoretsky   (2006-11-10 15:42:00) [32]

> Kolan  (10.11.2006 15:05:00)  [0]

Где, в некоторых местах просто, в других надо потрудиться


unknown   (2006-11-10 15:18:00) [33]

Нормально - никак.
Только подзапросами :
select
 (select .. from..) as "C",
 (select .. from..) as "R",
 (select .. from..) as "L"
from ...
Если же еще и количество столбцов м.б. не известно
(динамически формируется запрос), то придется
пересмотреть логику.
Если все это для отображения на клиенте - ищи CrossTab
компоненты.


Страницы:   1 2

Наверх

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