![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перекрестный запрос [D6, MSSQL, MS Access 2000]
Nikolai_S © (2004-01-30 17:19:00)
Всем доброго времени суток.
Такая задача:
имеются три таблицы:
1. XPARAM - Название параметра по оси X
2. YPARAM - Название параметра по оси Y
3. VALUES - значение параметра в точке (X, Y).
Как составить SQL-запрос, чтобы в результате получилась бы таблица, в которой:
- количество строк = количеству строк в таблице YPARAM;
- количество столбцов = количеству столбцов в таблице XPARAM плюс 1 (1-й столбец - названия параметров из таблицы YPARAM);
- ячейки таблицы должны быть заполнены соответсвующими значениями параметров (x, y) из таблицы VALUES.
В MS Access имеется возможность создания перекрестных запросов (TRANSFORM..PIVOT), но мне нужно чтобы и в MS SQL Server работало. И потом TRANSFORM..PIVOT не выводит те строки и столбцы, которые являются пустыми.
Я делал привязывание каждого отдельного столбца через JOIN, но при большом количестве столбцов работает ужасно медленно.
sniknik (2004-01-30 17:26:00) [1]
> но мне нужно чтобы и в MS SQL Server работало
там тоже есть подобное см. BOL на pivot table - Cross-Tab Reports, там же пример.