用于更新具有其他表

时间:2017-01-25 12:07:11

标签: mysql sql

MySQL查询,根据品牌,类别和样本表在最终表中插入brand-id和category-id列值。

brand table有两列

->brand id(Int)
->brandname(Varchar)

category表有两列

->category id(int)
->categoryname(varchar)

示例表有三列

->upc(Bigint)
->brandname(varchar)
->categoryname(varchar)

final 表有5列

 ->upc(Bigint)
 ->brandname(Varchar)
 ->categoryname(Varchar)
 ->brandid(int)
->categoryid(int)

请帮我把数据插入决赛桌。

这是我试图在我出错的地方帮助我的查询。

update final f set f.brand_id=(select brand_id from brand b,sample s where b.brandname=s.brandname) where f.upc=sample.upc;

问我如果你需要任何信息而不是静音,谢谢!

1 个答案:

答案 0 :(得分:2)

使用更新加入:

update final f join (
    select s.upc, b.brand_id
    from brand b join sample s
    on b.brandname=s.brandname
) t on f.upc = t.upc
set f.brand_id = t.brand_id;