Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: MSQL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Изменения значения полей одной таблицы по условию из другой таблицы http://svalka58.ru/index.php?topic=5082.msg27051#msg27051
Enclave
Отправлено: 23 Февраля, 2018 - 20:54:09
Post Id



Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Февр. 2018  


Помог: 0 раз(а)




Здравствуйте форумчане!
Есть знающие как правильно составить запрос в базу данных?
Имеется Таблица_1 с полем рейтинг , который принимает значение 1, 2 или 3.
Имеется Таблица_2 с полем дерево, который принимает любое численное значение, то есть кол-во деревьев.
Поля id пользователя в двух таблицах одинаковые.

Суть вопроса такова:
Нужно проверить из Таблица_1 значение рейтинга и если стоит 1, то добавить в Таблица_2, в поле количества к уже имеющемуся количеству скажем 5.
Чтобы у кого рейтинг 1 получили 5 деревьев к уже имеющимся.

Этот запрос выводит результат у кого рейтинг = 1:
SELECT * FROM `db_users_a` WHERE `rating`=1 ORDER BY `id` ASC

Этот добавляет к уже имеющимся +5 при чём всем без исключения:
UPDATE `db_users_b` SET `a_t` = `a_t` + 5

Не могу слепить воедино, пробовал по разному, день гуглил так и не разобрался.

(Отредактировано автором: 23 Февраля, 2018 - 20:55:48)

 
 Top
Мелкий Супермодератор
Отправлено: 23 Февраля, 2018 - 21:29:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `db_users_b` SET `a_t` = `a_t` + 5 WHERE id IN (SELECT id FROM `db_users_a` WHERE `rating`=1)


-----
PostgreSQL DBA
 
 Top
Enclave
Отправлено: 23 Февраля, 2018 - 21:44:36
Post Id



Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Февр. 2018  


Помог: 0 раз(а)




Мелкий пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `db_users_b` SET `a_t` = `a_t` + 5 WHERE id IN (SELECT id FROM `db_users_a` WHERE `rating`=1)


Мелкий Здорово БОЛЬШУЩЕЕ СПАСИБО! ПОМОГЛО!

(Отредактировано автором: 23 Февраля, 2018 - 22:26:15)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB