INSERT和INNER JOIN MYSQL组合

时间:2016-09-28 00:03:01

标签: mysql join inner-join

我有两张桌子。一个是商业'结构如下:

business_id | name | linkto_category_id | business_category_description

另一个' business_category'包含类别列表

business_category_id | business_category_description

现在我想选择商业'中的所有条目。与相应的' linkto_category_id'等于' business_category_id'在' business_category'表格,然后插入' business_category_description'进入'业务'表

这就是我到目前为止......

INSERT INTO business(business_category_description)
(SELECT business_category.business_category_description, business_category.business_category_id, business.linkto_category_id
FROM business
INNER JOIN business_category
ON business.linkto_category_id=business_category.business_category_id);

2 个答案:

答案 0 :(得分:0)

通常,您不应该使用内部联接将可以访问的数据复制到另一个表中。每次开展业务时,您都可以使用内部联接来获取类别中的描述。

通常会对数据进行规范化,以防止事情过时并最大限度地减少您存储的数据量。

使用linkto_category_id可以在每次需要时检索描述,而无需在每个业务行中存储大的相同文本字段。

答案 1 :(得分:0)

正如Brody评论的那样,这是一个需要的更新。

使用此处的最佳答案:How can I do an UPDATE statement with JOIN in SQL?