根据来自另一个 table 的 select 的结果插入 table

Insert in a table based on result of a select from another table

我有 2 个表,分别命名为 ShopLocation

对于 table 商店的每一行,我想在 table 位置插入一行,并遵循以下结构:

Location.description = Shop.name + "-Location"

所以对于每个商店,我想插入一个位置

description=Shop.name.concat("-Location")

请问我如何写一个 sql 查询来解决这个问题。

您使用insert . . . select。据推测,您想要这样的东西:

INSERT INTO location(description)
    SELECT DISTINCT CONCAT(s.name, '-Location')
    FORM shops s;

您还可以在许多数据库中使用 || 进行字符串连接:

INSERT INTO location(description)
    SELECT DISTINCT s.name || '-Location'
    FORM shops s;