ОБНОВЛЕНИЕ MySQL с SELECT - PullRequest
0 голосов
/ 28 марта 2012

У меня есть четыре разные таблицы, которые просто описываются следующим образом:

Пользователь
user_id
user_name

user_type
user_type_id
user_type

данные
user_id
user_type_id

import_user_type
типа
Имя пользователя

Я пишу хранимую процедуру для заполнения таблицы данных статистикой. Это с пользовательской таблицей, я выполняю следующее:

Строки в таблице «data» существуют после добавления в нее «пользовательских» данных следующим образом.

INSERT INTO data (user_id) 
SELECT user.user_id
FROM user
INNER JOIN import_data
ON user_id
WHERE import_data.station_id = user.user_name;

Когда я хочу добавить тип пользователя в таблицу данных, я сталкиваюсь с проблемой, когда для обновления требуется указать только одну строку и выбрать:

UPDATE data SET user_type_id = (
SELECT user_type.user_type_id
FROM user_type
INNER JOIN import_user_type
ON user_type_id
WHERE import_user_type.acces = user_type.user_type
LIMIT 1
);

Целью этого запроса UPDATE является добавление user_type для каждого пользователя, но они расположены в трех разных таблицах.

Как я могу обновить каждую строку таблицы «data» с помощью «user_type_id» каждого «user_id», когда тип и пользователь находятся в 2 разных таблицах?

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