2016-12-27 13 views
0

Я пытаюсь выполнить приведенный ниже запрос и получить недопустимую ошибку синтаксиса SQL . [IBM] [CLI Driver] CLI0118E Неверный синтаксис SQL. SQLSTATE = 37000 (37000, -99999). Это связано с обновлением драйверов? Некоторое время назад он работал нормально. Пожалуйста посоветуй. Заранее спасибо.Неверный синтаксис SQL CLI0118E

select a.name_task as nameTask, a.cd_sts as cdSts, a.desc_err_msg as 
       statusDesc 
      from task_log a,(
       select id_bus_procss, name_task , id_run, 
      max(dt_lst_updt) as dt_lst_updt from task_log 
       where id_run = '1' 
       and id_bus_procss = '14' 
       and name_task in ({0}) 
       and dt_lst_updt >= (
     select dt_evnt_sts from 
          sf_evntflow_sts 
         where id_run = '1' and 
        id_evntflow ='15' 

        and cd_evnt_sts in (''CLN'',''RTY'') 
         ) 
       group by id_bus_procss, name_task, id_run) 
       X 
      where a.dt_lst_updt = X.dt_lst_updt 

ответ

0

если вы выполняете это на хранимую процедуру, попробуйте это может помочь, удалить символ новой строки и отдельные параметры по пространств. Или в противном случае попробуйте обновить .......

+0

Это запрос, вызываемый из приложения, а не как хранимая процедура. Не могли бы вы объяснить это: Удалите новый символ строки и разделите параметры пробелами. – Sona

+0

Закройте редактор запросов, а затем снова откройте редактор и попытайтесь выполнить его. –

+0

Я закрыл свой быстрый sql и снова открыл и выполнил в новом редакторе запросов, но все тот же ошибку. – Sona

0

если вы попробуете этот запрос его лучше?

select a.name_task as nameTask, a.cd_sts as cdSts, a.desc_err_msg as statusDesc 
from task_log a, 
(select b.id_bus_procss, b.name_task , b.id_run, max(b.dt_lst_updt) as dt_lst_updt 
    from task_log b inner join sf_evntflow_sts c on b.id_run=c.id_run and c.id_evntflow ='15' 
    and c.cd_evnt_sts in (''CLN'',''RTY'') and b.dt_lst_updt >=c.dt_evnt_sts 
    where b.id_run = '1' and b.id_bus_procss = '14' and b.name_task in ({0}) 
    group by b.id_bus_procss, b.name_task, b.id_run 
) as X 
where a.dt_lst_updt = X.dt_lst_updt 
+0

Есть ли что-то не так в этом запросе? Он работал нормально до нескольких дней назад. – Sona

+0

ваш subselect и dt_lst_updt> = (subselect) должны возвращать одну строку, и я думаю, что теперь это не случай. – Esperento57