|
|
#21 |
|
Участник
|
Если расскоментировать мой код в 3 селекте, ошибка простая
X++: Msg 207, Level 16, State 1, Line 31
Invalid column name 'PAYMPURPOSE_ZTR'.Куски кода: X++: substring(' ',1,140) as n, isnull(country.name, '') as name1, case ---> 3780 26.02.2013 -- when (Journaltype = 10) --then substring(LedgerjournalTrans.PAYMPURPOSE_ZTR,1,1000) --<- X++: isNull(CodeId_ZTR, '') as Dimension, --(select CompanyGroup from Dimensions (nolock) where Dimensions.Num = custtrans.Dimension) as Dimension, custtrans.RContractCode, custtrans.accountnum, substring(custtable.name,1, 100), (select FinalDelvCustName_ZTR from SalesTable where SalesTable.SalesId = custtrans.DocId_ZTR) as n, isnull(country.name, '') as name1, case --->3780 26.02.2013 when (Journaltype = 10) then substring(LedgerjournalTrans.PAYMPURPOSE_ZTR,1,500) --<- |
|
|
|
|
#22 |
|
Модератор
|
Цитата:
Код: left join (select voucher, POSTINGPROFILE, offsetpostingprofile_ru, PaymentStatusUserId_ZTR,
LedgerjournalTrans.BankCentralBankPurposeText,LedgerjournalTrans.txt, Journaltype
from LedgerjournalTrans (nolock)
inner join LedgerjournalTable on LedgerjournalTrans.journalnum = LedgerjournalTable.journalnum and posted = 1
and Journaltype in(0, 4, 45) and LedgerjournalTrans.dataareaid = 'zkz'
and LedgerjournalTrans.dataareaid = 'zkz'
) as LedgerjournalTransтам как раз и не хватает поля PAYMPURPOSE_ZTR Добавьте его во вложенный запрос . На пример:Код: left join (select voucher, POSTINGPROFILE, offsetpostingprofile_ru, PaymentStatusUserId_ZTR, PAYMPURPOSE_ZTR,
LedgerjournalTrans.BankCentralBankPurposeText,LedgerjournalTrans.txt, Journaltype
from LedgerjournalTrans (nolock)
inner join LedgerjournalTable on LedgerjournalTrans.journalnum = LedgerjournalTable.journalnum and posted = 1
and Journaltype in(0, 4, 45) and LedgerjournalTrans.dataareaid = 'zkz'
and LedgerjournalTrans.dataareaid = 'zkz'
) as LedgerjournalTransВ 141 строке приведенного кода, нормально. Там просто выборка из таблицы JOIN на 208 строке Код: left join LedgerjournalTrans (nolock) on custtrans.voucher = LedgerjournalTrans.voucher
and LedgerjournalTrans.dataareaid = 'zkz'
and (LedgerjournalTrans.postingprofile in
(select custledgeraccounts.postingprofile from custledgeraccounts (nolock)
where (accountCode = 2 or (accountcode = 1 and num = custgroup))
and custledgeraccounts.dataareaid = 'zkz' and
ltrim(sumaccount) = ltrim(LedgerAccount_ZTR)) or (offsetpostingprofile_ru in
(select custledgeraccounts.postingprofile from custledgeraccounts (nolock)
where (accountCode = 2 or (accountcode = 1 and num = custgroup))
and custledgeraccounts.dataareaid = 'zkz' and
ltrim(sumaccount) = ltrim(LedgerAccount_ZTR))))
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. Последний раз редактировалось Poleax; 27.02.2013 в 19:08. |
|
|
|
| За это сообщение автора поблагодарили: S.Kuskov (2). | |
|
|
#23 |
|
Модератор
|
Цитата:
Но у Вас там влож. запрос УРЕЗАННЫМ списком полей. При выполнении и вываливается с ошибкой. нюансы
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. |
|
|
|
|
#24 |
|
Участник
|
Poleax
Благодарю, не заметил. Вставил поле в подзапрос - ругаться перестало, однако построение отчёта идёт не по тому полю, которое мне нужно. Думал ограничиться добавлением условия в создание запроса, а получается, ещё нужно где-то. |
|
|
|
|
#25 |
|
Участник
|
Цитата:
|
|
|
|
|
#26 |
|
Участник
|
Разобрался почему не работало. Нужно было ещё в джойнах там где указывается выборка значений and Journaltype and Journaltype in(0, 7, 45) добавить нужный мне номер журнала.
![]() Poleax, спасибо вам большое! |
|
|
|
|
#27 |
|
Модератор
|
Да, не за что.
На будущие если создаете подзапросы и JOINите их, то имена (Alias) присваивайте отличные от существующих таблиц. Чтоб самому потом не запутаться. К пример для LedgerjournalTrans можно написать: as LJTrans В БД таблицы LJTrans нет и ошибка будет яснее понять. В области SELECT можно оперировать полями через алиасе LJTrans.PAYMPURPOSE_ZTR
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. |
|
|
|
| За это сообщение автора поблагодарили: user_ax (1). | |
|
|
#28 |
|
Участник
|
Цитата:
Сообщение от Poleax
Да, не за что.
На будущие если создаете подзапросы и JOINите их, то имена (Alias) присваивайте отличные от существующих таблиц. Чтоб самому потом не запутаться. К пример для LedgerjournalTrans можно написать: as LJTrans В БД таблицы LJTrans нет и ошибка будет яснее понять. В области SELECT можно оперировать полями через алиасе LJTrans.PAYMPURPOSE_ZTR |
|
|