2017-03-04 4 views
0

이 질문은 여러 번 요청되었지만 해결책이 저를 위해 작동하지 않습니다. 나는 이유를 모른다.루프없이 임시 테이블에 여러 행 삽입

여기

내가 노력하고 무엇 :

사실 난으로 선택하여 임시 테이블에서 일부 레코드를 삽입하고 SQL 쿼리에서 임시 테이블을 만들려고하고 있지만 매번 비어 행을 반환

Create Table #TempTable 
    (
     EntityID BIGINT 
) 

    INSERT INTO #TempTable (EntityID) 
    SELECT pkEntityID FROM Employee WHERE EmpID = 45 

    Select * from #TempTable 

45에 해당하는 Employee 테이블에는 10 개의 행이 있습니다. 마치 테이블에 한 행만 삽입 할 수 있기 때문에 여기서는 구조 나 루프와 같은 다른 작업을해야만하는 것입니까?

+1

확실한가요? pkEntityID FROM Employee WHERE EmpID = 45'가 10 개의 행을 반환합니까? – GurV

+2

귀하의 질의에 문제가 없습니다. 'EmpId = 45' 조건과 일치하는 행이 없습니다. . . 또는'# TempTable'에서 행을 검사 할 때 실수를 저 지르고 있습니다. –

+0

예. 나는 확신한다. 그것은 항상 여러 행을 반환하고 나는 다른 테이블과 함께 테이블에있는 모든 ID를 수집해야합니다. – Sweetie

답변

0

이 내용은 모두 의견에 명시되어 있지만, 귀하의 질문에 대답하기 위해해야 ​​할 일은 없습니다. 소스 테이블에 명확하게 EmpID = 45이 없습니다. 여기에 재현 예는 다음과 같습니다

Declare @Employee Table (pkEntityID bigint, EmpID int) 
insert into @Employee (pkEntityID, EmpID) 
values 
(32168123,45), 
(89746541,45), 
(55566331,45), 
(45649224,12) 


Create Table #TempTable 
    (
    EntityID BIGINT 
    ) 

INSERT INTO #TempTable (EntityID) 
SELECT pkEntityID FROM @Employee WHERE EmpID = 45 

Select * from #TempTable 

drop table #TempTable 
0

당신은 실수도 마스터 데이터베이스의 Employee 테이블을 만들었으며 현재 마스터 데이터베이스에 연결되어 있습니까?