选择1个表,更新另一个表

时间:2014-09-03 04:52:49

标签: php mysql

我尝试更新表中的用户,这些用户在另一个表中排名第3。这是一个例子:

T1:

id   respect   activity_points
1    10        1200
2    10        700
3    10        90

T2:

id   rank
1    3
2    1
3    1

我试图更新'尊重'在table1中,rank等于2或更高,来自table2。

提前致谢:)

3 个答案:

答案 0 :(得分:3)

我认为你正在寻找SQL答案而不是PHP,并假设t2.id是id,它映射到t1中的id

update t1 
inner join t2 on t1.id = t2.id
set t1.respect = (t1.respect + 5) 
where t2.rank >= 2

答案 1 :(得分:0)

Query : update t1 set respect=newvalue where id 
        in ( select id from t2 where rank > 2 )

答案 2 :(得分:0)

UPDATE t1 SET respect = 'your value' WHERE id in (
    SELECT id FROM t2 WHERE rank >= 2
)

UPDATE t1 SET respect = 'your value' WHERE id = (
    SELECT id FROM t2 WHERE rank >= 2
)