powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Помогите понять что не так в update
5 сообщений из 5, страница 1 из 1
Помогите понять что не так в update
    #34823337
akula84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
update #LoanRiskGr 
set    #LoanRiskGr.DateInst = cr.RiskDate
from  
      #LoanRiskGr      lrg
     ,tRiskCtrRelation cr ( index XAK1tRiskCtrRelation ) 
     ,tRisk            r  ( index XPKtRisk             ) 
where  1 = 1 
  and lrg.DealID   = #LoanRiskGr.DealID
  and cr.DealID    = lrg.InstitutionID
  and cr.RiskValue =  1  
  and cr.RiskDate  = (select max(cr2.RiskDate)
                      from tRiskCtrRelation cr2 ( index XAK1tRiskCtrRelation )
                      where  1 = 1 
                        and cr2.DealID    = lrg.InstitutionID
                        and cr2.RiskValue =  1 
                        and cr2.RiskDate <= lrg.DateDeal                      
                     )
  and r.RiskID     = cr.RiskID
Делаю следующий update. Выдает ошибку
Error: Number (107) Severity (15) State (1) Server (freddy1) The column prefix '#LoanRiskGr' does not match with a table name or alias name used in the query. Either the table is not specified in the FROM clause or it has a correlation name which must be used instead.

Помогите разобраться в чем проблема.
Заранее спасибо
...
Рейтинг: 0 / 0
Помогите понять что не так в update
    #34823443
Фотография DimaU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторand lrg.DealID = #LoanRiskGr.DealID
не лишняя ли? непонятно...
---
Всего всего! Tор-Analytics
...
Рейтинг: 0 / 0
Помогите понять что не так в update
    #34825122
guest0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Знакомые таблички :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
update #LoanRiskGr
   set DateInst = cr.RiskDate
  from #LoanRiskGr      lrg (index  0 ),
       tRiskCtrRelation cr  (index XAK1tRiskCtrRelation) 
where cr.DealID    = lrg.InstitutionID
  and cr.RiskValue =  1 
  and cr.RiskDate  = (select max(cr2.RiskDate)
                        from tRiskCtrRelation cr2 ( index XAK1tRiskCtrRelation)
                       where cr2.DealID    = lrg.InstitutionID
                         and cr2.RiskValue =  1 
                         and cr2.RiskDate <= lrg.DateDeal
                     )
  and exists(select  1 
               from tRisk r (index XPKtRisk)
              where r.RiskID     = cr.RiskID
            )
...
Рейтинг: 0 / 0
Помогите понять что не так в update
    #34825151
guest0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще лучше так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
update #LoanRiskGr
   set DateInst = isnull((select max(cr2.RiskDate)
                            from tRiskCtrRelation cr2 ( index XAK1tRiskCtrRelation)
                           where cr2.DealID    = lrg.InstitutionID
                             and cr2.RiskValue =  1 
                             and cr2.RiskDate <= lrg.DateDeal
                             and exists(select  1 
                                          from tRisk r (index XPKtRisk)
                                         where r.RiskID = cr2.RiskID
                                       )
                         ), lrg.DateInst)
  from #LoanRiskGr      lrg (index  0 )
...
Рейтинг: 0 / 0
Помогите понять что не так в update
    #34826909
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akula84 пишет:
> Автор: "akula84"
>
> update #LoanRiskGr
> set #LoanRiskGr.DateInst = cr.RiskDate

Здесь указывать префикс не надо,
он безполезен. Вы можете там написать хоть "ququ",
все равно будет update-иться таблица, указанная в UPDATE XXX
(это такой полубаг, правда он никому не мешает).

> from
> #LoanRiskGr lrg
> ,tRiskCtrRelation cr ( index XAK1tRiskCtrRelation )
> ,tRisk r ( index XPKtRisk )
> where *1*=*1*
> and lrg.DealID = #LoanRiskGr.DealID

Ругается на это. Если вы уже присвоили таблице алиас \'lrg\',
надо его и использовать, имя таблицы уже использовать нельзя.
Т.е. должно быть не
\'#LoanRiskGr.DealID\', а \'lrg.DealID\'

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Помогите понять что не так в update
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]