К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Подзапрос в прямом запросе

Гость
0 - 30.08.2016 - 12:36
Дамы и господа, прошу прощения за тупость, но никак не могу увидеть ошибку. Подскажите, плиз:

ТекстЗапроса = "
|SELECT
| Прв.[DATE_TIME_DOCID] as [ДатаПроводки $Дата],
| Прв.[ACCDTID] as [СчетДт $Счет.Основной],
| Прв.[DTSC0] as [СкДт1 $Справочник.ВидыСтрахования],
| Прв.[DTSC1] as [СкДт2 $Справочник.Контрагенты],
| Док.[IDDOC] as [СкДт3 $Документ],
| Жур.IDDocDef as СкДт3_вид,
| Жур.Date_Time_IDDoc as [ДатаДок $Дата],
| Прв.[SUM_] as Сумма,
| Прв.[CURSUM] as СуммаВал,
| РегистрДоки.Регистратор as Регистратор,
| $Док.Получатель as [Получ $Справочник.Контрагенты],
| $Док.Примечание as [Примечание $Строка]
| FROM _1SENTRY as Прв WITH(NOLOCK)
| left outer join $Документ.ЗаявлениеУбыточностиСтрах as Док WITH(NOLOCK) on Док.[IDDOC] = Прв.[DTSC2]
| left outer join _1SJourn as Жур ON Жур.[IDDOC] = Док.[IDDOC]
| left outer join (
| SELECT
| Прв1.[DATE_TIME_DOCID],
| Прв1.[DOCID],
| Жур1.[IDDOC] as [Регистратор $Документ],
| Жур1.[IDDocDef] as Регистратор_вид
| FROM _1SENTRY as Прв1 WITH(NOLOCK)
| left outer join _1SJourn as Жур1 ON Жур1.[IDDOC] = Прв1.[DOCID]
| WHERE ([ACTIVE] <> '*')
| and (Прв1.DATE_TIME_DOCID <= :КонДата~)
| and ((Прв1.[ACCDTID] = :Сч22_1_1) or (Прв1.[ACCDTID] = :Сч22_1_2))
| and (Прв1.[ACCKTID] = :Сч51 or Прв1.[ACCKTID] = :Сч68_1 or Прв1.[ACCKTID] = :Сч76_01 or
| Прв1.[ACCKTID] = :Сч78_1_1 or Прв1.[ACCKTID] = :Сч78_1_2 or Прв1.[ACCKTID] = :Сч76_5)
| ) as РегистрДоки on РегистрДоки.[DATE_TIME_DOCID] = Прв.[DATE_TIME_DOCID] and РегистрДоки.[DOCID] = Прв.[DOCID]
| WHERE ([ACTIVE] <> '*')
| and (Жур.IDDocDef = $ВидДокумента.ЗаявлениеУбыточностиСтрах)
| and (Прв.DATE_TIME_DOCID <= :КонДата~)
| and ((Прв.[ACCDTID] = :Сч22_1_1) or (Прв.[ACCDTID] = :Сч22_1_2))
| and (Прв.[ACCKTID] = :Сч51 or Прв.[ACCKTID] = :Сч68_1 or Прв.[ACCKTID] = :Сч76_01 or
| Прв.[ACCKTID] = :Сч78_1_1 or Прв.[ACCKTID] = :Сч78_1_2 or Прв.[ACCKTID] = :Сч76_5)
|";

Выдает: ...Invalid column name 'Регистратор'.



Гость
1 - 30.08.2016 - 13:15
Попробуй сказать прямо
Жур1.[IDDOC] as РегистраторИзЖурнала,

Возможно, слово зарезервировано
Гость
2 - 31.08.2016 - 16:47
Сорри, мне, как новичку, запретили постить на сутки - не мог ответить.
Цитата:
Сообщение от roma n Посмотреть сообщение
Возможно, слово зарезервировано
Нет, не прошло. Коллеги подсказали, что структура в квадратных скобках во внешнем запросе выглядит не совсем как "Регистратор". То есть, действительно такой колонки нет.
Если типизацию в подзапросе убрать - колонка появляется. Но тогда типизировать нужно во внешнем запросе. А тогда и подзапрос не нужен. Получилось в результате:

|SELECT
| Док.[IDDOC] as [СкДт3 $Документ],
| Жур.IDDocDef as СкДт3_вид,
|...
| Прв.[DOCID] as [Регистратор $Документ],
| Жур1.IDDocDef as Регистратор_вид,
|...
| FROM _1SENTRY as Прв WITH(NOLOCK)
| left outer join $Документ.ЗаявлениеУбыточностиСтрах as Док WITH(NOLOCK) on Док.[IDDOC] = Прв.[DTSC2]
| left outer join _1SJourn as Жур ON Жур.[IDDOC] = Док.[IDDOC]
| left outer join _1SJourn as Жур1 ON Жур1.[IDDOC] = Прв.[DOCID]
|...
| WHERE
|...


К списку вопросов






Copyright ©, Все права защищены