sql
  • sql-server
  • 2016-09-08 4 views 0 likes 
    0

    1) Я хочу, чтобы обновить значение из столбца "ORDER_NAME" из таблицы «Заказы» после проверки некоторого условия (площадь, Condition_flag)Обновление значения столбца с условием ческой

    Пример:

    when Area='1' and Condition_flag=C then Order_name= 'Num_Order'+'_'+'Condition_flag' 
    

    2) Обновление Store_code when Area ='2' and Condition_flag='T'

    +0

    Ваш вопрос непонятен. Можете ли вы предоставить образцы данных и желаемые результаты? –

    +0

    Google 'UPDATE FROM' – NEER

    ответ

    0

    It могут выполнять оба ваших требования.

    UPDATE t SET 
        Order_name = CASE WHEN t.Area='1' and t.Condition_flag = 'C' THEN CONCAT(Num_Order, '-', Condition_flag) ELSE Order_name END, 
        Store_code = CASE WHEN t.Area='2' and t.Condition_flag = 'T' THEN 'Value Goes Here' ELSE Store_code END 
    FROM #TableName t 
    WHERE t.area IN ('1','2') 
        AND t.condition_flag IN ('c', 't') 
    

    , но, пожалуйста, отрегулируйте значения, если целое число, а затем цитата не требуется.

    0

    Try, как показано ниже:

    update Orders 
    set Order_name = Num_Order+'_'+Condition_flag 
    where 
        Area='1' and Condition_flag='C' 
    
    +0

    Многие случаи, поэтому нужно использовать Case? – Merka

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