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