Question

I am trying to insert data into a temp table within a CTE. Here is the Code I am using: Can someone provide a little guidance on why it is not working.

Create Table #Clients
(HospMastID smallint    Null
,HospCode   smallint    Null
,ClientID   smallint    Null
,ControlGroup   smallint Null);

,Clients
as
    (Insert Into #Clients
    Select 
    Distinct
    HospMastID
    ,HospCode
    ,ClientID
    From
    Final)

Thanks, Scott

Was it helpful?

Solution

Simply, you cannot use the INSERT function inside a CTE. Assuming "Final" was one of the other CTE's in the multi CTE script, just move the INSERT INTO #Clients outside the CTE script. You seemingly don't need the temp table, since you are using CTE's, the Clients CTE will be available temp table or no. I suggest getting rid of the temp table altogether and continuing with the CTE method you already have in place. You may need to post more of the script to get better scope of the question.

 ,Clients as
     (Select 
     Distinct
     HospMastID
     ,HospCode
     ,ClientID
     From
    Final)

OTHER TIPS

Create Table #Clients1
(standardid int Null
,fullnumber Varchar(200) Null
,description Varchar(1000) Null);

WITH standard_cte AS ( 
SELECT standardid, fullnumber, 
description FROM standard WHERE standardid = 1370 
UNION ALL 
SELECT s.standardid, s.fullnumber, s.description FROM standard s 
INNER JOIN standard_cte ON standard_cte.standardid = s.parentid ) 

Insert Into #Clients1(standardid ,fullnumber, description )
SELECT tempTable.standardid, fullnumber, description
FROM ( SELECT standardid, fullnumber, CONVERT(VARCHAR(MAX), description) as description FROM standard_cte WHERE standardid <> 1370 ) tempTable 

GROUP BY tempTable.StandardID, fullnumber, description

select * from #Clients1

drop table #Clients1
CREATE TABLE #Clients (
      HospMastID    SMALLINT    NULL
    , HospCode      SMALLINT    NULL
    , ClientID      SMALLINT    NULL
    , ControlGroup  SMALLINT    NULL
)

WITH Clients (HospMastID, HospCode, ClientID)
AS
(
    SELECT DISTINCT HospMastID, HospCode, ClientID
    FROM Final
)
INSERT INTO #Clients
SELECT HospMastID, HospCode, ClientID
FROM Clients 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top