Имя: Пароль:
1C
1С v8
Ошибка синтаксиса запроса.
0 Престарелый Заяц
 
15.08.15
16:38
Добрый день. Как говорится, сами мы не местные ...

ВЫБРАТЬ
    ПриоритетыМенеджеровСрезПоследних.Приоритет Приоритет
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрСведений.ПриоритетыМенеджеров.СрезПоследних(, Менеджер = &Менеджер) КАК ПриоритетыМенеджеровСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПриоритетыМенеджеровСрезПоследних.Менеджер,
    ПриоритетыМенеджеровСрезПоследних.Приоритет
ИЗ
    РегистрСведений.ПриоритетыМенеджеров.СрезПоследних КАК ПриоритетыМенеджеровСрезПоследних
ГДЕ
    ПриоритетыМенеджеровСрезПоследних.Приоритет > (ВЫБРАТЬ ВТ.Приоритет ИЗ ВТ КАк Вт )


Что синтаксически неверно ?
Как нужно ?
Спасибо.
1 Cyberhawk
 
15.08.15
16:39
Ошибку покажи на картинке
2 ДенисЧ
 
15.08.15
16:40
А шо, 1с такое уже умеет?
3 r_i_n_i_k
 
15.08.15
16:41
(0)Приоритет типа число? и ты его сравниваешь с выборкой?

Сам скажи, что больше, например "5" или ВыборкаИзДанныхЗапроса?
4 Престарелый Заяц
 
15.08.15
16:48
(2) Я ж ХЗ написал не местные мы. (3) обычный СКЛ возвращает число.
5 Престарелый Заяц
 
15.08.15
16:48
Как такое обычно делают ? Соединением что ли ?
6 ДенисЧ
 
15.08.15
16:50
(4) обычный sql тебе вернёт таблицу. Так что ты очень-очень сильно не местный.
7 Престарелый Заяц
 
15.08.15
16:53
(6) Да ладно ?

DECLARE @T TABLE ( A INT )
INSERT INTO @T( A ) VALUES (0),(1),(2)

SELECT * FROM @T WHERE A = ( SELECT AVG(A) FROM @T)
8 ДенисЧ
 
15.08.15
18:46
(7) А где у тебя в (0) AVG() ?
9 vde69
 
15.08.15
21:28
надо использовать "в  (ВЫБРАТЬ ВТ.Приоритет ИЗ ВТ КАк Вт ) "

только временую таблицу сделай валидной
10 Престарелый Заяц
 
15.08.15
23:23
(8) И что оно поменяет ?

ВЫБРАТЬ
    ПриоритетыМенеджеровСрезПоследних.Приоритет Приоритет
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрСведений.ПриоритетыМенеджеров.СрезПоследних(, Менеджер = &Менеджер) КАК ПриоритетыМенеджеровСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ПриоритетыМенеджеровСрезПоследних.Менеджер,
    ПриоритетыМенеджеровСрезПоследних.Приоритет
ИЗ
    РегистрСведений.ПриоритетыМенеджеров.СрезПоследних КАК ПриоритетыМенеджеровСрезПоследних
ГДЕ
    ПриоритетыМенеджеровСрезПоследних.Приоритет > (ВЫБРАТЬ МАКСИМУМ(ВТ.Приоритет) ИЗ ВТ КАк Вт )

Та же ошибка.

(9) Мне нужно не совпадение, а значения более чем. Грубо говоря операция сравнения не с числом, а с вычисляемым выражением.

"только временую таблицу сделай валидной" - что Вы имеете ввиду ?
11 Fl0Mаsтер
 
15.08.15
23:58
(5) делай соединением
в (ВЫБРАТЬ МАКСИМУМ(ВТ.Приоритет) ИЗ ВТ КАк Вт ) у тебя всёравно будет таблица, а не число
12 Престарелый Заяц
 
16.08.15
02:10
(11) Да сделал соединением .... да расширить бы язык запросов не помешало бы :).
13 hhhh
 
16.08.15
10:43
(12) пиши заявку в фирму 1с, включат тебя в план на 2025й год. Но вряд ли. Не будут они такой фигней заниматься.
14 vde69
 
16.08.15
10:59
(10) ВТ сделать валидной значит она должна содержать все значения больше чем порог (обычно это делается джойном с календарем)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс