|
прикольный вылет SQL на простом запросе | ☑ | ||
---|---|---|---|---|
0
vde69
15.11.11
✎
12:37
|
платформа (8.2.13.202)
"ВЫБРАТЬ | ВложенныйЗапрос.Сотрудник КАК Сотрудник, | ВложенныйЗапрос.ШтатнаяЕдиница КАК ШтатнаяЕдиница, | ВЫБОР | КОГДА &ПоказыватьОклад = ИСТИНА | ТОГДА ЕСТЬNULL(ВложенныйЗапрос.СотрудникОклад, 0) | ИНАЧЕ 0 | КОНЕЦ КАК СотрудникОклад |ИЗ т1 КАК ВложенныйЗапрос | |УПОРЯДОЧИТЬ ПО | Сотрудник, | СотрудникОклад"; если параметр &ПоказыватьОклад установить в ЛОЖЬ - валится скуль Microsoft OLE DB Provider for SQL Server: Обнаружено константное выражение в списке ORDER BY, позиция 8. HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=10, native=408, line=94 интересно по чему нельзя сортировать по константе? |
|||
1
Ненавижу 1С
гуру
15.11.11
✎
12:42
|
а так?
"ВЫБРАТЬ | ВложенныйЗапрос.Сотрудник КАК Сотрудник, | ВложенныйЗапрос.ШтатнаяЕдиница КАК ШтатнаяЕдиница, | ВЫБОР | КОГДА &ПоказыватьОклад = ИСТИНА | ТОГДА ЕСТЬNULL(ВложенныйЗапрос.СотрудникОклад, 0) | ИНАЧЕ 1 | КОНЕЦ КАК СотрудникОклад |ИЗ т1 КАК ВложенныйЗапрос | |УПОРЯДОЧИТЬ ПО | Сотрудник, | СотрудникОклад"; |
|||
2
vde69
15.11.11
✎
12:45
|
(1) то-же, ругается на сортировку по сумме
|
|||
3
Кириллка
15.11.11
✎
12:46
|
Алиасы добавь.
|
|||
4
Ненавижу 1С
гуру
15.11.11
✎
12:48
|
и наконец
"ВЫБРАТЬ | ВложенныйЗапрос.Сотрудник КАК Сотрудник, | ВложенныйЗапрос.ШтатнаяЕдиница КАК ШтатнаяЕдиница, | ВЫБОР | КОГДА &ПоказыватьОклад = ИСТИНА | ТОГДА ЕСТЬNULL(ВложенныйЗапрос.СотрудникОклад, 0) | ИНАЧЕ 1 | КОНЕЦ КАК СотрудникОклад |ИЗ т1 КАК ВложенныйЗапрос | |УПОРЯДОЧИТЬ ПО | 1, | 3"; |
|||
5
aleks-id
15.11.11
✎
12:49
|
>>КОГДА &ПоказыватьОклад = ИСТИНА
я за это программистов бью линейкой по рукам |
|||
6
Кириллка
15.11.11
✎
12:50
|
(5)себе по голове линейкой не забывай.
|
|||
7
zladenuw
15.11.11
✎
12:51
|
(5,6) лучше булавкой колоть. что бы такие мысли не посещали.
|
|||
8
vde69
15.11.11
✎
12:52
|
(5) обьясни почему?
(4) самое интересное, что у соседа этот запрос работает :) вероятно это настройки скуля? |
|||
9
aleks-id
15.11.11
✎
12:54
|
(8) потому что в &ПоказыватьОклад у тебя уже булево!
и правильно писать КОГДА &ПоказыватьОклад |
|||
10
Ненавижу 1С
гуру
15.11.11
✎
12:54
|
(8) скули разные? а по версиям?
|
|||
11
shuhard
15.11.11
✎
12:55
|
||||
12
vde69
15.11.11
✎
12:55
|
(9) кто сказал, что булево? там может быть например "Неопределено"
|
|||
13
Ненавижу 1С
гуру
15.11.11
✎
12:55
|
(12) ага, ты еще про NULL напиши
|
|||
14
aleks-id
15.11.11
✎
12:56
|
(12) и чо? если Неопределено - будет ЛОЖЬ
|
|||
15
vde69
15.11.11
✎
12:56
|
(10) скуль филически один, базы разные
|
|||
16
vde69
15.11.11
✎
12:57
|
филически = физически
прикольная описка |
|||
17
shuhard
15.11.11
✎
12:57
|
(15) и вот ответ:
10091717 Константное выражение в УПОРЯДОЧИТЬ ПО Проблема: В клиент-серверном варианте информационной базы с использованием СУБД MSSQL Server при выполнении запроса, содержащего выражение с константным условием в операции ВЫБОР может происходить ошибка Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: Обнаружено константное выражение в списке ORDER BY, позиция 1. и аварийное завершение работы программы. Дата публикации: 2011-10-27 |
|||
18
shuhard
15.11.11
✎
12:57
|
||||
19
vde69
15.11.11
✎
12:59
|
(17) у меня 13 версия, значит у меня ошибка более древняя :) и не профиксеная
|
|||
20
СвинТуз
15.11.11
✎
13:00
|
(13)
вы будете смеяться , но есть смутные сомнения что на этом оно и валится ... на NULL з.ы. почему пижонам платят большие деньги? )))) |
|||
21
Ненавижу 1С
гуру
15.11.11
✎
13:00
|
(20) а где там NULL?
|
|||
22
СвинТуз
15.11.11
✎
13:02
|
Надо написать Насипову
я видимо нашел 14-ю ошибку (21) ну Вы же любите задачки повышенной сложности? |
|||
23
hhhh
15.11.11
✎
13:02
|
но ПоказыватьОклад = ИСТИНА по любому правильнее. Потому что надежнее.
|
|||
24
shuhard
15.11.11
✎
13:02
|
(19) а у соседа какая 1С стоит ?
|
|||
25
vde69
15.11.11
✎
13:03
|
(24) та-же, работаем с одной конфой через хранилище
|
|||
26
СвинТуз
15.11.11
✎
13:04
|
(23)
1с тестировали не нубы |
|||
27
Кириллка
15.11.11
✎
13:05
|
ВЫБРАТЬ
ТочноВложенныйЗапрос.Сотрудник КАК Сотрудник, ТочноВложенныйЗапрос.ШтатнаяЕдиница КАК ШтатнаяЕдиница, ТочноВложенныйЗапрос.СотрудникОклад КАК СотрудникОклад ИЗ ( ВЫБРАТЬ ВложенныйЗапрос.Сотрудник КАК Сотрудник, ВложенныйЗапрос.ШтатнаяЕдиница КАК ШтатнаяЕдиница, ВЫБОР КОГДА &ПоказыватьОклад = ИСТИНА ТОГДА ЕСТЬNULL(ВложенныйЗапрос.СотрудникОклад, 0) ИНАЧЕ 0 КОНЕЦ КАК СотрудникОклад ИЗ т1 КАК ВложенныйЗапрос ) КАК ТочноВложенныйЗапрос УПОРЯДОЧИТЬ ПО ТочноВложенныйЗапрос.Сотрудник, ТочноВложенныйЗапрос.СотрудникОклад |
|||
28
catena
15.11.11
✎
13:06
|
(14)Не-а, ошибку дает при неопределено.
|
|||
29
shuhard
15.11.11
✎
13:06
|
(25) поднял бы ты ТЖ и профайлер и посмотрел,что за запрос
|
|||
30
СвинТуз
15.11.11
✎
13:07
|
(21)
хотя наверное мудрю ))) |
|||
31
vde69
15.11.11
✎
13:07
|
ну я сделал проще :)
|УПОРЯДОЧИТЬ ПО | Сотрудник, | СотрудникСтатус " + ?(ПоказыватьОклад,", СотрудникОклад", ""); // при отсутствии данных по окладу сортировка вылетает на сервере |
|||
32
Ненавижу 1С
гуру
15.11.11
✎
13:09
|
(31) а как же построитель?
они же заклюют щас |
|||
33
СвинТуз
15.11.11
✎
13:10
|
тип значения у СотрудникОклад какой?
|
|||
34
СвинТуз
15.11.11
✎
13:10
|
составной?
|
|||
35
СвинТуз
15.11.11
✎
13:11
|
получали из двух таблиц объединенением?
union all |
|||
36
СвинТуз
15.11.11
✎
13:12
|
или из таблицы значений пришел?
|
|||
37
shuhard
15.11.11
✎
13:14
|
(31) респект
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |