|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
Здраствуйте, В хр. процедуре пишу код: Код: sql 1. 2. 3. 4. 5. 6. 7.
Получаю ошибку: Сообщение 156, уровень 15, состояние 1, строка 43 Неправильный синтаксис около ключевого слова "IF". А так: Код: sql 1. 2. 3. 4. 5. 6.
данные выводятся Подскажите, можно ли использовать логические условия типа IF вместе с CTE? И как мне быть, если в зависимости от разных условий мне нужно вывести разный набор данных из табличного выражения? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 13:01 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
Нельзя. Особенно это досадно, если надо написать IF EXISTS() для, например, рекурсивного CTE. Но CTE - это просто часть одного-единственного запроса, живущее только до конца выполнения этого запроса. Так что "разный набор данных" возможен только в виде INION [ALL] и с соответствующими условиями в WHERE ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 13:09 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
Опечатался - не INION, а UNION, конечно же ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 13:11 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
авторИ как мне быть, если в зависимости от разных условий мне нужно вывести разный набор данных из табличного выражения? Убрать CTE и положить результат (sql-запрос) в табличную переменную\временную таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 13:14 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
Спасибо всем, очень досадно... ладно, буду что-нибудь придумывать ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 13:50 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
Bryk_AlienВ хр. процедуре пишу код: Код: sql 1. 2. 3. 4. 5. 6. 7.
Получаю ошибку: так а чем не устраивает такое? Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 13:53 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
ShakillBryk_AlienВ хр. процедуре пишу код: Код: sql 1. 2. 3. 4. 5. 6. 7.
Получаю ошибку: так а чем не устраивает такое? Код: sql 1. 2. 3. 4. 5.
Условие может быть вне таблицы TTT ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 13:59 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
Shakill, Да там я "догадался" написать универсальный запрос, который выводит данные для трёх состояний - с различной группировкой, количеством и названием полей. для нескольких довольно различных по устройству отчётов... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 14:01 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
Bryk_AlienДа там я "догадался" написать универсальный запрос, который выводит данные для трёх состояний - с различной группировкой, количеством и названием полей. для нескольких довольно различных по устройству отчётов... А поместить cte в представление ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 14:05 |
|
Использоване CTE и условия IF
|
|||
---|---|---|---|
#18+
GloryBryk_AlienДа там я "догадался" написать универсальный запрос, который выводит данные для трёх состояний - с различной группировкой, количеством и названием полей. для нескольких довольно различных по устройству отчётов... А поместить cte в представление ? Да там с параметрами наверное, лучше table valued function ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2013, 14:13 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1704306]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 248ms |
total: | 403ms |
0 / 0 |