Domanda

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 
È stato utile?

Soluzione

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

Altri suggerimenti

;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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top