我有四个不同的表,简单描述如下:
用户
USER_ID
USER_NAME
USER_TYPE
user_type_id
USER_TYPE
数据
USER_ID
user_type_id
import_user_type
键入
用户名
我正在编写一个存储过程来用统计信息填充数据表。它是用户表的siple,我执行以下操作:
“数据”表中的行存在于将“用户”数据添加到其中之后。
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,但它们位于三个不同的表中。
当类型和用户位于2个不同的表中时,如何使用每个“user_id”的“user_type_id”更新“data”表的每一行?