Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция SWITCH ??? / 5 сообщений из 5, страница 1 из 1
15.01.2005, 09:18:36
    #32866156
Евгений1234-5
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция SWITCH ???
А-97, Win 98
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
TRANSFORM Sum(LGOTN.KOLLG) AS Sum_KOLLG
SELECT [LGOTN]![KATEG] AS KTG
FROM LGOTN INNER JOIN NORMA ON LGOTN.Norma = NORMA.SHIFR
WHERE (((LGOTN.Id_Периода)=True) AND ((LGOTN.Id_Закр)=False))
GROUP BY [LGOTN]![KATEG], LGOTN.Id_Периода, LGOTN.Id_Закр
PIVOT Switch(NORMA.shifr= 0 ,"NoNor",
NORMA.shifr= 1 ,"230/365",
NORMA.shifr= 2 ,"80/115",
NORMA.shifr= 3 ,"70/50",
NORMA.shifr= 4 ,"30/25",
NORMA.shifr= 5 ,"30",
NORMA.shifr= 6 ,"230/365чс",
NORMA.shifr= 7 ,"70/50чс",
NORMA.shifr= 8 ,"70+30чс",
NORMA.shifr= 9 ,"70чс",
NORMA.shifr= 10 ,"30чс",
NORMA.shifr= 11 ,"0/50",
NORMA.shifr= 12 ,"120/260",
NORMA.shifr= 13 ,"230/225",
NORMA.shifr= 14 ,"100/180")
 In ("NoNor", "230/365", "80/115", "70/50", "30/25", "30", "230/365чс", "70/50чс",
 "70+30чс", "70чс", "30чс", "0/50", "120/260", "230/225", "100/180");
Ругается на слишком сложным расчетом, пункотв в Switch 15, но если любой один убрать то все работает. Это ограничение ?
...
Рейтинг: 0 / 0
15.01.2005, 11:18:21
    #32866207
Евгений1234-5
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция SWITCH ???
Пример:
...
Рейтинг: 0 / 0
15.01.2005, 18:12:29
    #32866440
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция SWITCH ???
Можно соединить перед трансформом соединить таблицу NORMA с дополнительной табличкой, куда загнать эти 15 пар значений код-расшифровка. И делать пайвот по полю расшифровки.
...
Рейтинг: 0 / 0
16.01.2005, 06:27:16
    #32866616
Евгений1234-5
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция SWITCH ???
Может я не верно понял, но так и было.
Проблема в том что этот запрос используется в отчете и при отсутствии например 3-х, 4-х или даже одной нормы, отчет ругается отсутствием поля.
Есть мысль от SWITCH вообще избавится, оставить только IN.
...
Рейтинг: 0 / 0
16.01.2005, 06:30:56
    #32866618
Евгений1234-5
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция SWITCH ???
А ларчик просто открывался !!!
Код: plaintext
1.
2.
3.
4.
5.
TRANSFORM Sum(LGOTN.KOLLG) AS Sum_KOLLG
SELECT [LGOTN]![KATEG] AS KTG
FROM LGOTN INNER JOIN NORMA ON LGOTN.Norma = NORMA.SHIFR
WHERE (((LGOTN.Id_Периода)=True) AND ((LGOTN.Id_Закр)=False))
GROUP BY [LGOTN]![KATEG], LGOTN.Id_Периода, LGOTN.Id_Закр
PIVOT NORMA.NORMA In ("NoNor", "230/365", "80/115", "70/50", "30/25", "30", "230/365чс", "70/50чс", "70+30чс", "70чс", "30чс", "0/50", "120/260", "230/225", "100/180");


P.S.
Ложись Иван спать утром запрос мудрнее вечернего.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция SWITCH ??? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]