powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / case when...then....end
6 сообщений из 6, страница 1 из 1
case when...then....end
    #35668734
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работаю в RS2005, сколько раз можно использовать конструкцию
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 case when b.Тип like N'%L'
                then 'группа L'
                when  b.Тип like N'%(литье)'
                 then 'б/к (литье)'
                 when.....
                 then....
                 .........
           end 
просто на 10 when он недает мне ввести условие, нереагирует на клавиатуру вообще ни вкаком месте? Эта конструкция у меня в главном select, просто у меня эта же (case when) конструкция присутствует во From и там я уже использовал больше 30 when then, и всё работало. А тут в select только 10. Или у меня произошло переполнение символов в самом visual studio? там текст кода достаточно большой.
...
Рейтинг: 0 / 0
case when...then....end
    #35670747
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте использовать Switch
...
Рейтинг: 0 / 0
case when...then....end
    #35670950
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 shady Это фрагмент SQL-запроса. switch'а в SQL нет.
2 minya13_85 Ваш вопрос, строго говоря, не по RS, а по SQL. Это пример того как НЕ НАДО пользоваться RS. Почему бы Вам не оформить сложный SQL-запрос как хранимую функцию T-SQL (или процедуру)? Так всегда надо делать.
А в датасете отчета написать
Код: plaintext
SELECT * FROM dbo.myFn([<параметр(ы)ю ...>])
...
Рейтинг: 0 / 0
case when...then....end
    #35670984
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, функция switch есть в RS, но в данном случае её использование неоптимально.
...
Рейтинг: 0 / 0
case when...then....end
    #35671369
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GholaКонечно, функция switch есть в RS, но в данном случае её использование неоптимально.
В чем неоптимальность? Если например выражение, которое автор хочет выводить (группа L) это группа в таблице отчета, то case в sql выполнится столько раз сколько строк будет в группе, а RS выполнит switch 1 раз.
...
Рейтинг: 0 / 0
case when...then....end
    #35673908
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всю обработку данных надо по возможности делать на SQL-сервере, потому что он для этого предназначен и оптимизирован. Не стоит без нужды размазывать логику генерации отчета на две платформы. Возможности RS имеет смысл применять, чтобы реализовать то, что невозможно сделать средствами SQL.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / case when...then....end
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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