|
|
|
Динамическая сортировка
|
|||
|---|---|---|---|
|
#18+
Добрый день! Использую БД Sybase ASE 12.5.3 . Мне необходимо сортировать значения в селекте в определенном порядке. Для этого я использую в предложении ORDER BY оператор CASE. Проблема в том, что когда в запросе используется UNION то СASE не работает, система выдает следующую ошибку:Order-by items must appear in the select-list if the statement contains set operators. Вот запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 12:55 |
|
||
|
Динамическая сортировка
|
|||
|---|---|---|---|
|
#18+
ИзюмДобрый день! Использую БД Sybase ASE 12.5.3 . Мне необходимо сортировать значения в селекте в определенном порядке. Для этого я использую в предложении ORDER BY оператор CASE. Проблема в том, что когда в запросе используется UNION то СASE не работает, система выдает следующую ошибку:Order-by items must appear in the select-list if the statement contains set operators. Вот запрос: А отформатировать было влом? вот такое проканает на ASA, ASE под рукой нет: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Кстати, а на ASE можно обойтись без UNION-а? На ASA можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 13:26 |
|
||
|
Динамическая сортировка
|
|||
|---|---|---|---|
|
#18+
Вариант с использованием дополнительного столбца для сортировки тоже рассматривал, он наверное даже проще, но хотелось узнать о работоспособности CASE в предложении ORDER BY в запросах с UNION. А именно это синтаксическая ошибка или просто такая функциональность не поддерживается сервером? За ответ спасибо. Насчет форматирования учту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 14:34 |
|
||
|
Динамическая сортировка
|
|||
|---|---|---|---|
|
#18+
Изюм пишет: > Вариант с использованием дополнительного столбца для сортировки тоже > рассматривал, он наверное даже проще, но хотелось узнать о > работоспособности CASE в предложении ORDER BY в запросах с UNION. А > именно это синтаксическая ошибка или просто такая функциональность не > поддерживается сервером? RTFM по SA10 по поводу сортировки с UNION-ом пишет "you must use integers rather than column names". Очень может быть, что то, что ты хотел написать, работать просто не должно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 14:55 |
|
||
|
Динамическая сортировка
|
|||
|---|---|---|---|
|
#18+
Всё просто. Вы в ORDER BY можете написать либо ссылку на колонку набора данных по номеру либо ссылку на колонку набора данных по имени колонки либо выражение. Поскольку у вас есть UNION (кстати, должен был бы быть UNION ALL), то у вас несколько наборов данных, и несколько запросов. Поэтому остаётся из трёх вариантов только второй, номер колонки. Если вам нужно выражение, вы его должны включить во все наборы данных, продублировав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 16:03 |
|
||
|
Динамическая сортировка
|
|||
|---|---|---|---|
|
#18+
MasterZiv, благодарю за объяснение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2009, 17:37 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=36137495&tid=2010943]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 253ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...