powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как изменить значение в столбце по результатам запроса?
2 сообщений из 2, страница 1 из 1
Как изменить значение в столбце по результатам запроса?
    #39941897
Newageman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Подскажите, пожалуйста, как изменить значение в столбце таблицы по результатам нижеприведённого запроса?
Запрос:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
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
и т.д.
Как на основании этого запроса изменить значение в столбце `used` таблицы `orders`.
Т.е. если в запросе есть `uid` совпадающий с `uid`.`orders`, то в строке с совпадающим `uid` в столбце `used` изменить 0 на 1. Надеюсь понятно объяснил.
Таблицы и запрос можно посмотреть по ссылке: fiddle
Заранее спасибо.
...
Рейтинг: 0 / 0
Как изменить значение в столбце по результатам запроса?
    #39942464
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как изменить значение в столбце по результатам запроса?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]