2013-05-02 2 views
1

У меня возникла проблема с этим запросом. Как я могу это исправить:top 1 case in select statement on TSQL

select (select case top 1 STATUS 
     when 'Inprocess' then 'Processing' 
     when 'Inworkbin' then 'Waiting In Draft' 
     end 
    from ICS_EMAIL_CONNECTIONS_TRX A  
    where A.SESSIONID = B.SESSIONID 
    and STATUS <> 'Completed' 
    order by A.CREATE_DATE desc) as LAST_STATUS 

Я получаю эту ошибку:

Неправильный синтаксис около ключевого слова «верхний».

Любые предложения?

ответ

9

Try:

select top 1 case STATUS 

вместо

select case top 1 STATUS 
+0

все ответы верны, но я должен выбрать один из них, как правильный ответ :) спасибо всем – cihata87

2

Вам не нужно рекурсивный выбрать.

select top 1 case STATUS 
      when 'Inprocess' then 'Processing' 
      when 'Inworkbin' then 'Waiting In Draft' 
      end LAST_STATUS 
from ICS_EMAIL_CONNECTIONS_TRX A  
where A.SESSIONID = B.SESSIONID 
and STATUS <> 'Completed' 
order by A.CREATE_DATE desc; 

Хотя это может возвращать 0 строк, тогда как исходная форма с TOP 1 письменных правильно всегда будет возвращать одну строки, даже если это значение равно NULL.

2
select (select top 1 (case STATUS 
    when 'Inprocess' then 'Processing' 
    when 'Inworkbin' then 'Waiting In Draft' 
    end) 
from ICS_EMAIL_CONNECTIONS_TRX A  
where A.SESSIONID = B.SESSIONID 
and STATUS <> 'Completed' 
order by A.CREATE_DATE desc) as LAST_STATUS 
2

corrrect дела и лучшие ключевые слова

select (select top 1 case STATUS 
     when 'Inprocess' then 'Processing' 
     when 'Inworkbin' then 'Waiting In Draft' 
     end 
    from ICS_EMAIL_CONNECTIONS_TRX A  
    where A.SESSIONID = B.SESSIONID 
    and STATUS <> 'Completed' 
    order by A.CREATE_DATE desc) as LAST_STATUS 
1
select top 1 * from (select case STATUS 
     when 'Inprocess' then 'Processing' 
     when 'Inworkbin' then 'Waiting In Draft' 
     end 
    from ICS_EMAIL_CONNECTIONS_TRX A  
    where A.SESSIONID = B.SESSIONID 
    and STATUS <> 'Completed' 
    order by A.CREATE_DATE desc) as LAST_STATUS 

 Смежные вопросы

  • Нет связанных вопросов^_^