Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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_Insert - Fatal编程技术网

Sql 将输出行插入表的方法?

Sql 将输出行插入表的方法?,sql,insert,Sql,Insert,我只是想知道是否有一种方法可以根据以前的查询将行和列插入表中。我不知道我的解释是否正确,所以让我试着给你看看 下面是一个简单的外部联接,它显示了EMPHIREINFO表中缺少的内容: Select b.empno, b.empstate, c.startdt, c.enddt, c.cntrlgth From EMPADDRESS b Left Outer Join EMPHIREINFO c On b.empno = c.empno Order By startdt 输出: EMPNO

我只是想知道是否有一种方法可以根据以前的
查询将行和列插入表中。我不知道我的解释是否正确,所以让我试着给你看看

下面是一个简单的外部联接,它显示了
EMPHIREINFO
表中缺少的内容:

Select b.empno, b.empstate, c.startdt, c.enddt, c.cntrlgth
From EMPADDRESS b Left Outer Join EMPHIREINFO c
On b.empno = c.empno
Order By startdt
输出:

EMPNO   EMPSTATE    STARTDT     ENDDT       CNTRLGTH
9873    NY          20-MAY-11   20-NOV-11   6
7566    CA          15-OCT-11   15-OCT-12   12
7499    MN          31-OCT-11   30-APR-12   6
7369    NJ          15-JAN-12   15-JAN-13   12
5300    NY          11-AUG-12   11-AUG-13   12
7521    NJ          12-NOV-12   12-MAY-13   6
4600    NY          10-DEC-12   10-JUN-13   6
7902    CA          
7934    NY          
7900    MN          
所有的空白点都是
(null)
,我想你知道,但还是想提一下。无论如何,我想知道是否有一种方法可以基于此输出将
EMPNO
EMPSTATE
EMPADDRESS
插入
EMPHIREINFO
。我知道我可以手动执行一个Insert语句,但我正在考虑一种情况,即我不是在处理一个有10行,而是数千行的表


我来这里之前做了一些研究,但谷歌甚至在这个网站上搜索都让我两手空空。如往常一样,欢迎任何帮助

SQL允许您使用表单插入到表中

insert into table1
select ...
只要列编号和类型对齐。如果没有,您可以指定插入列,例如

insert into table1 (col1, col5, col2)
select ...
因此,对于您(假设列类型对齐):


但是,您可能需要指定列,例如,如果您有一个自动递增的id列(这是常见的)

SQL允许您使用表单插入到表中

insert into table1
select ...
只要列编号和类型对齐。如果没有,您可以指定插入列,例如

insert into table1 (col1, col5, col2)
select ...
因此,对于您(假设列类型对齐):

但是,您可能需要指定列,例如,如果您有一个自动递增的id列(这是常见的)

您可以将此插入语法用于生成结果集的其他命令:

INSERT destination_table (column1, column2,column3)
EXEC usp_produce_some_output
您可以将此插入语法用于生成结果集的其他命令:

INSERT destination_table (column1, column2,column3)
EXEC usp_produce_some_output

我不清楚如何将
EMPADDRESS
中的记录插入
EMPHIREINFO
。。。从你的问题来看,这两个表似乎有完全不同的列。。。那么,您希望将源表中的哪些数据从源表放入目标表中呢?因为
EMPNO
s(和
EMPNAMES
,未显示)在每个
表中都将是相同的
我想
插入我缺少的那些。当我最初在玩弄
EMPHIREINFO
时,我只添加了7个人,现在我想添加其余的人,但做10个
Insert
语句似乎并不令人感兴趣,我想为未来学习一个新技巧。我不清楚如何将
EMPADDRESS
中的记录插入
EMPHIREINFO
。。。从你的问题来看,这两个表似乎有完全不同的列。。。那么,您希望将源表中的哪些数据从源表放入目标表中呢?因为
EMPNO
s(和
EMPNAMES
,未显示)在每个
表中都将是相同的
我想
插入我缺少的那些。当我最初在玩弄
EMPHIREINFO
时,我只添加了7个人,现在我想添加其余的人,但做10个
Insert
语句似乎并不令人感兴趣,我想为未来学习一个新技巧。太棒了,感谢您的快速响应。这正是我希望我能做的。如果你想知道我做了什么来插入缺少的行,我必须这样做:插入EMPHIREINFO(empno,empname,startdt,enddt,cntrlgth)选择b.empno,b.empname,c.startdt,c.enddt,c.cntrlgth From EMPADDRESS b Left Outer Join EMPHIREINFO c On b.empno=c.empno,其中c.startdt为Null,c.enddt为Null,c.cntrlgth为Null,感谢您的快速响应。这正是我希望我能做的。如果你想知道我做了什么来插入缺少的行,我必须这样做:插入EMPHIREINFO(empno,empname,startdt,enddt,cntrlgth)选择b.empno,b.empname,c.startdt,c.enddt,来自EMPADDRESS b的c.cntrlgth在b.empno=c.empno上左外连接EMPHIREINFO c,其中c.startdt为Null,c.enddt为Null,c.cntrlgth为Null