gpt4 book ai didi

sql - Foreach id 在一个表中,在另一个表中插入行

转载 作者:行者123 更新时间:2023-12-02 15:30:34 25 4
gpt4 key购买 nike

我有两张 table 。表 'locations' 与具有外键 location_id 的表 'resources' 一对多/一对一相关。像这样

locations -> id | location
resources -> id | location_id | name | value

我在“位置”中有很多记录。现在我想为“locations”中的每个现有“locations.id”添加“resources”中的记录,其中包含名称和值的默认值,当然还有 location_id。

我尝试了下面的查询,该查询部分生成了所需的结果,因为此 sql 查询为“resoruces.name”和“resources.value”设置了值。它们应该分别是“标准”和“1”。

INSERT INTO service_categories(location_id) SELECT id FROM locations;

我只是无法通过为这些字段添加值来构建查询。这个怎么做?我想要的结果是这样的:

    id | location_id | name     | value
-------------------------------------
1 | 1 | Standard | 1
2 | 2 | Standard | 1
3 | 3 | Standard | 1
4 | 4 | Standard | 1
5 | 5 | Standard | 1
6 | 6 | Standard | 1
7 | 7 | Standard | 1
8 | 8 | Standard | 1
....

最佳答案

如果表 resources 不存在,这应该可以工作:

SELECT
location_id as id,
location_id,
'Standard' as name,
1 as value
INTO resources
FROM locations

如果该表已经存在,那么您应该这样写:

INSERT INTO resources (id, location_id, name, value)
SELECT
location_id as id,
location_id,
'Standard' as name,
1 as value
FROM locations

字符串文字将根据您使用的 RDBMS 而有所不同。例如,我相信 MySQL 使用反引号而不是单引号。

关于sql - Foreach id 在一个表中,在另一个表中插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27173938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com