从表中选择并更新另一个表SQL

时间:2014-10-21 06:01:09

标签: mysql sql sql-update

我试图获得business_id'和'评级'从表格'评论'在哪里' review_id'是$ approveReviewID

然后更新'评分'在' business_details'来自'评论'的检索评级其中' business_id'等于检索到的。

我有这两个问题,

SELECT business_id, rating FROM reviews WHERE review_id = '$approveReviewID';

UPDATE business_details SET rating = rating + $rating WHERE business_id = '$businessID';

有没有办法将这些查询加入一个?

2 个答案:

答案 0 :(得分:2)

是的,您可以使用update-join语法:

UPDATE business_details bd
JOIN   reviews r ON bd.business_id = r.business_id
SET    bd.rating = bd.rating + r.rating
WHERE  r.review_id = '$approveReviewID'

答案 1 :(得分:1)

在from子句中使用简单的“内连接”来连接两个表

UPDATE  bd
SET     rating = bd.rating + rvs.rating
FROM    reviews rvs
        INNER JOIN business_details bd ON db.business_id = rvs.business_id
WHERE   rvs.review_id = '$approveReviewID'
相关问题