@Newageman

Как изменить значение в столбце если в тексте другого столбца присутствует значение выборки?

Здравствуйте. Подскажите, пожалуйста, как изменить значение в столбце если в тексте другого столбца присутствует значение выборки?
Есть запрос:
SELECT af_id, 
       SUM(COALESCE(amount_value,0))*0.1, 
       CONCAT('Бонус за: ', GROUP_CONCAT(o.uid ORDER BY o.uid ASC)),
       'RUB'
FROM ( SELECT arur.af_id,
              arur.r_w_uid, 
              @row_num := CASE WHEN @row_num_val = af_id                
                               THEN @row_num+1
                               WHEN (@row_num_val := af_id) IS NOT NULL 
                               THEN 1
                               END   pair_flag,
              @lag_r_w_uid :=  CASE WHEN (@row_num_val = af_id) AND @row_num mod 2 = 1 
                                    THEN r_w_uid
                                    ELSE @lag_r_w_uid
                                    END r_w_uid_1     
       FROM arur, 
            u_af, 
            ( SELECT @row_num := null, @row_num_val := null, @lag_r_w_uid := null) AS x
       WHERE u_af.id = arur.af_id 
       ORDER BY af_id, r_w_uid) t1  
JOIN orders o ON (o.uid IN (t1.r_w_uid,t1.r_w_uid_1) AND o.status = 'Completed' AND o.used = '0')
WHERE pair_flag mod 2 = 0
GROUP BY af_id
HAVING COUNT(DISTINCT r_w_uid) =  4


В результате мы получаем запись в таблице вида:
`id`=2
`description` = 'Бонус за: 65,66,68,69,70,71,75,76' (цифры могут меняться)
`p_id` = 52
`amount` = 145000
и т.д.
Как на основании содержания столбца `description` изменить значение в столбце `used` другой таблицы.
Т.е. если в `description` есть цифра совпадающая с `uid`.`orders`, то в строке с совпадающим `uid` в столбце `used` изменить 0 на 1. Надеюсь понятно объяснил.
Если есть какой-то другой, отличающийся от моего, вариант решения, то я за любой, лишь бы работал.
Таблицы и запрос можно посмотреть по ссылке: fiddle
Заранее спасибо.
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы