Mysql 查询问题选择结果从一个表到另一个表

Mysql 查询问题选择结果从一个表到另一个表,mysql,sql-server,Mysql,Sql Server,我不是一个喜欢编写代码的人,我试图在mssql中每5分钟运行一次查询 Select user from Db1.dbo.tableA where requirement = 1 update Db2.dbo.tableB SET point = point + 5 where user = user; 我想从数据库1表A中获取用户,其中要求是1(以DB为单位),然后在Db2表B中更新该用户以匹配该用户,并将当前点数增加5 我在这方面真的是新手。您可以将“更新自”与“加入”一起使用: 仅当第

我不是一个喜欢编写代码的人,我试图在mssql中每5分钟运行一次查询

Select user from Db1.dbo.tableA where requirement = 1 

update Db2.dbo.tableB SET point = point + 5 where user = user;
我想从数据库1表A中获取用户,其中要求是1(以DB为单位),然后在Db2表B中更新该用户以匹配该用户,并将当前点数增加5

我在这方面真的是新手。

您可以将“更新自”与“加入”一起使用:


仅当第一次查询的结果是单个用户时,编辑此选项才有效。对于多个用户,Felix的答案更适合

sql server或mySql?好的,这是查询更新Db2.dbo.tableB SET point=point+5,其中user in Select user from Db1.dbo.tableA where requirement=1,如果我想进一步限制它,该怎么办,类似于a.requirement等于1,但与a.requirement 1来自同一来源的结果超过5个。。。。我怎么能让b点+5只对来自同一来源的2个结果有效呢?并允许某些来源超出限制。。。提前谢谢!如果我想再限制一点,比如a.requirement等于1,但与a.requirement 1来自同一来源的结果超过5个,该怎么办。。。。我怎么能让b点+5只对来自同一来源的2个结果有效呢?并允许某些来源超出限制。。。提前谢谢!
WITH tableAuser
AS
(
    SELECT user FROM Db1.dbo.tableA WHERE requirement = 1 
)
UPDATE b 
SET b.point = b.point + 5 
FROM Db2.dbo.tableB b 
JOIN tableAuser a ON b.user = a.user
DECLARE @user <same datatype as in column>

Select @user = user from Db1.dbo.tableA where requirement = 1 

update Db2.dbo.tableB SET point = point + 5 where user = @user;
WITH tableAuser
AS
(
    SELECT user FROM Db1.dbo.tableA WHERE requirement = 1 
)
UPDATE b 
SET b.point = b.point + 5 
FROM Db2.dbo.tableB b 
JOIN tableAuser a ON b.user = a.user