I am trying to insert the records that come of this query into a temp table. Any help or suggestion will be helpful

insert into #AddRec
select *
from stg di
right join
ED bp
on
bp.ID = di.ID
except
select *
from stg di
inner join
ED bp
on
bp.ID = di.ID 
有帮助吗?

解决方案

This may help it simplifies your query a little.

create table #AddRec(id int) ;

insert into #addrec
select  ed.id
from stg right join 
ed on stg.id=ed.id 
where stg.id is null;

select * from #Addrec

If you need more fields from the tables add the definitions into the temp table and add them into the select line

其他提示

;WITH Q AS
(
select *
from stg di
right join
ED bp
on
bp.ID = di.ID
except
select *
from stg di
inner join
ED bp
on
bp.ID = di.ID 
)
INSERT INTO #AddRec(... list of fields ...)
SELECT (... list of fields ...) FROM Q

if you want to create the temp table from scratch, just replace the insert with:

SELECT (... list of fields ...) 
INTO #AddRec
FROM Q

if your select return matches the field count of insert table this should work!

  insert into tbl1 (field1,field2)
    select field1,field2 from.................

easiest way

select *
into #AddRec
from stg di
right join ED bp on bp.ID = di.ID
except
select * from stg di
inner join ED bp on bp.ID = di.ID
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top