2015-03-15 4 views
1

Могу ли я использовать регистр case в поле для изменения значения другого поля? Нечто подобное,Запрос оператора case

SELECT TaskDescription, 
CASE 
When TaskDescription='Lab Dips/Handloom Sent' then seq ='1' 
When TaskDescription='Lab Dips/Handloom Approve' then seq ='2' end,seq FROM SomeTable 

У меня есть описание задач в колонке TaskDescription, что я хочу, чтобы принести в определенном порядке. Вот почему я хочу, чтобы добавить номер НомерСтарта каждому значению описания задачи, так что я могу получить ожидаемый заказ просто писать «заказ на SEQ»

+0

Вы не можете изменить значения полей в 'SELECT' заявлении. Однако вы можете изменить значение вывода * column *. Вы можете опубликовать образцы данных и желаемый результат, чтобы уточнить ваши требования. –

+0

Тогда как это можно сделать? – Mimi

+0

Вы используете 'UPDATE' для изменения значений полей в таблице. –

ответ

1

, если вы хотите, стоимость обновления таблицы, вы можете использовать это:

Update SomeTable 
Set seq = '1' 
Where TaskDescription='Lab Dips/Handloom Sent' 

Update:

Select TaskDescription ,seq 
From (
     SELECT TaskDescription, 
      (CASE 
      When TaskDescription='Lab Dips/Handloom Sent' then 1 
      When TaskDescription='Lab Dips/Handloom Approve' then 2 
      end) As seq FROM SomeTable 
    ) As TB 
Order by TB.seq 

Или:

With tb As (
    SELECT TaskDescription 
      ,(CASE TaskDescription 
      When 'Lab Dips/Handloom Sent' then 1 
      When 'Lab Dips/Handloom Approve' then 2 
      end) As seq 
    FROM SomeTable 
) 
Select * from tb 
Order by tb.seq 
+0

Я обновил свои qs. Пожалуйста, смотрите. – Mimi

+0

ok..answer обновлено, может быть, эта работа для вас. – Iraj

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