Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何执行将两个现有表的部分连接起来并将其插入新表的查询?_Sql - Fatal编程技术网

Sql 如何执行将两个现有表的部分连接起来并将其插入新表的查询?

Sql 如何执行将两个现有表的部分连接起来并将其插入新表的查询?,sql,Sql,我有一个包含调查的表和一个包含小部件的表。在这两个表之间应该有第三个表连接这两个表。下面就是我想要的 Survey: survey_id numeric(18, 0) Unchecked Primary Key dashboard_id numeric(18, 0) Unchecked Foreign Key survey_title nvarchar(250) Unchecked Widget: widget_id numeric(18, 0) Unchec

我有一个包含调查的表和一个包含小部件的表。在这两个表之间应该有第三个表连接这两个表。下面就是我想要的

Survey:

survey_id   numeric(18, 0)  Unchecked Primary Key
dashboard_id    numeric(18, 0)  Unchecked Foreign Key
survey_title    nvarchar(250)   Unchecked

Widget:

widget_id   numeric(18, 0)  Unchecked Primary Key
dashboard_id    numeric(18, 0)  Checked Foreign Key
这两个表具有共同的dashboard_id(仪表板表的主键)

问题:

如何根据这两个表的匹配dashboard_id连接这两个表,并将此新表插入到第三个表中。如何将上述表的两个主键放入新的第三个表中,如下所示:

Survey_link_widget:

survey_link_widget_id   numeric(18, 0)  Unchecked
survey_id   numeric(18, 0)  Unchecked
widget_id   numeric(18, 0)  Unchecked
data_series_name    nvarchar(250)   Unchecked
data_series_displaytitle    nvarchar(250)   Checked
survey_link_widget_id是自动递增的,它会自动创建。 survey_id和widget_id应该来自我打算基于dashboard_id加入的两个表

此外,将第4列和第5列(data_series_name和data_series_displaytitle)添加到我要查找的插入/加入查询中是否困难


如果你认为我处理这个“链接表”是完全错误的,请告诉我!我的SQL目前真的生锈了,所以我可能只是在做一些愚蠢的事情。

有许多不同的可能性,但这里有一个大致的想法:

INSERT INTO Survey_link_widget (survey_id, widget_id)
SELECT
    survey_id,
    widget_id
FROM
    Survey INNER JOIN Widget ON Survey.dashboard_id = Widget.dashboard_id

除此之外,您要求添加
data\u series\u name
data\u series\u displaytitle
,当然您可以这样做(只需将它们添加到第一行逗号分隔的列表中),但如果这样做,您必须将一些数据放入这些字段中(即,在SELECT子句中添加第三和第四项)——这可以是一个字段,也可以是静态的(用引号括起来)。

非常感谢!这非常有帮助:)