обновить базу строк на другой строке таблицы - PullRequest
2 голосов
/ 07 марта 2012

Я сосал по SQL-запросу. У меня 2 таблицы и 2 строки. 1 таблица - user_sets, а вторая - user_profiles. Мне нужно обновить базу user_sets на основе строки таблицы user_profiles. я приведу пример.

Структура БД

table  User_sets
row    n_color_pack
-------------
table  User_profiles
row    gander
---------------------

Запрос:

UPDATE user_sets
   SET n_color_pack = 1
  FROM user_profiles, 
       user_sets
  WHERE gander = '0';

Итак, как вы видите, я хотел бы обновить таблицу User_sets, установив n_color_pack 1 для всех, кто имеет пол 0.

1 Ответ

2 голосов
/ 07 марта 2012

Вам нужно будет JOIN таблицы для достижения этой цели.Нечто подобное должно работать (не проверено):

    UPDATE user_sets as s
    INNER JOIN user_profiles as p
    ON s.id = p.id
    SET s.n_color_pack = 1    
    WHERE p.gander = 0

Изменить s.id и p.id в зависимости от того, какой столбец соединяет две таблицы в вашем случае.

(Кредитруах за указание на мою синтаксическую ошибку)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...