Как изменить значение в столбце одной таблицы при добавлении записи во вторую?
Есть запрос:
INSERT INTO five_pair (p_id, amount, description, currency)
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
Подскажите, пожалуйста, как изменить значение в столбце used таблицы orders с 0 на 1 у тех orders.uid которые попадают в результаты запроса?
Пробовала так:
update orders
set used = 1
where used = 0
and FIND_IN_SET(uid, (select substr(description, 11) from five_pair where (тут различные условия) )) >0
Но это не работает.
Таблицы с кодом можно посмотреть по этой ссылке: fiddle
Помогите, пожалуйста. Заранее спасибо.