Помогите найти ошибку в 1С++ запросе #279401


#0 by Азат
SELECT FROM    $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата, :КонДата~,,,(Номенклатура IN (Select * From #ВыбНоменклатура)),,) as Рег LEFT OUTER JOIN $Справочник.Цены as СпрЦ ON СпрЦ.ParentExt = Рег.Номенклатура AND LEFT OUTER JOIN $Справочник.Номенклатура as СпрН ON Рег.Номенклатура = СпрН.ID LEFT OUTER JOIN $Справочник.КатегорииТоваров as СпрК ON $СпрН.Категория_Номенклатуры = СпрК.ID Вот такой элементарный запрос... Ругается на: "Incorrect syntax near the keyword IN" Убираю условие в ВТ и все работает Помогите, исправить, пожалуйста
#1 by Джинн
IN (Select Val From #ВыбНоменклатура)
#2 by Азат
Не помогло
#3 by Азат
ап
#4 by AntonioS
#ВыбНоменклатура это что?
#5 by SnarkHunter
INNER JOIN #ВыбНоменклатура ON Val = Номенклатура вместо (Номенклатура IN (Select * From #ВыбНоменклатура))
#6 by Азат
всегда так делал - накладывал фильтр, а ниже писал Запрос.уложитьСписокОбъектов(СписокЗначений, "#ВыбНоменклатура", "Номенклатура");
#7 by toypaul
а разбор запроса посмотреть?
#8 by toypaul
вообще inner join не есть правильный путь. если в фильтре значения повторяются, можно поиметь проблемы
#9 by val
РегистрОстаткиОбороты Виртуальная таблица остатков и оборотов Синтаксис: $РегистрОстаткиОбороты.<ИмяРегистра>([<НачалоПериода>][, <КонецПериода>][, <Периодичность>][,<МетодДополнения>][,        <Соединение>][, Посчитай количество запятых.
#10 by Дык ё
Запятой перед условием не хватает.
#11 by DmitrO
Небольшая поправка. УложитьСписокОбъектов формирует такую таблицу в которой идентификаторы никогда не повторяются.
#12 by SnarkHunter
(+11)Так что inner join будет работать...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С