![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с созданием предстваления
Gennadiy © (2003-08-13 14:56:00)
Уважаемые мастрера имеется две таблицы Сотрудники(Sotr) и Начисления (Nachisl).
Структура таблицы Сотрудников:
Sotr_ID - ключеое поле
Sotr_FIO -ФИО сотрудника
и т.д.
Структура таблицы Ничисления (Nachisl)
Nachisl_ID - ключевое поле
Sotr_FIO - ссылка на ID-сотрудника.
PeriodNachisl - период начисления(Январь,Февраль, Март и т.д.).
SummaNachisl-сумма начисления (руб.)
Как создать представление чтобы получилась такая таблица:
Сотрудник Январь Февраль Март Апрель Май и т.д.
Иванов И.И. 1000 150 250 1000 500
Johnmen (2003-08-13 15:25:00) [1]
Некоторое де жа вю :)
SELECT
S.Sotr_FIO,
(SELECT SUM(N1.SummaNachisl) FROM Nachisl N1 WHERE (N1.Sotr_FIO=S.Sotr_ID) AND (N1.PeriodNachisl=<<январь>>))) SJan,
(SELECT SUM(N2.SummaNachisl) FROM Nachisl N2 WHERE (N2.Sotr_FIO=S.Sotr_ID) AND (N2.PeriodNachisl=<<февраль>>)) SFeb,
.........
FROM Sotr S
Gennadiy (2003-08-13 15:10:00) [2]
Забыл, сервер INTERBASE
ZrenBy (2003-08-13 15:03:00) [3]
select
FIO,
M01 = isnull(sum(case when Period=1 then Summa else 0 end),0),
M02 = isnull(sum(case when Period=2 then Summa else 0 end),0),
M03 = isnull(sum(case when Period=3 then Summa else 0 end),0),
...
from T1
left outer join T2 on ...
group by
FIO
или union c where по периоду
Reindeer Moss Eater (2003-08-13 15:00:00) [4]
Тем более не указан тип SQL сервера
Reindeer Moss Eater (2003-08-13 14:57:00) [5]
Такого представления сделать нельзя