sql – 将一个表中的不同值插入另一个表中

因此,对于一个表的列中的每个不同值,我想将该唯一值插入另一个表的行中.
list = select distinct(id) from table0

for distinct_id in list
 insert into table1 (id) values (distinct_id)
end

关于如何解决这个问题的任何想法?

解决方法

每当你考虑在循环中做某事时,退后一步,再想一想. sql已经过优化,可以使用集合.您可以使用基于集合的查询执行此操作,而无需循环:
INSERT dbo.table1(id) SELECT disTINCT id FROM dbo.table0;

有一些边缘情况,循环可以更有意义,但随着sql Server的成熟和更多功能添加,这些边缘情况变得越来越窄……

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...