![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как колонки сделать строками(SQL)
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
компоненты.