2011-03-14 2 views
4

은 ... 당신이 빈 행이 반환해야합니다 경우,Sql Server에서 빈 행을 반환 할 수 있습니까?

+0

0 행을 반환 , 당신이 원하는 것은 무엇입니까? 모든 열을 반환하는 것은 필요한 행이면 중복됩니다. –

+0

null이 아닌 경우 빈 열은 무엇입니까? – RichardTheKiwi

+0

오, 고마워, 내가 ur주의 리차드있어, 당신이 definetly 답을 가지고 당신을 찾고 있는데 ... 내 다른 질문을 참조하십시오 ... http : //stackoverflow.com/questions/5297181/column-does-not-allow- nulls –

답변

10

일반적으로 실제 쿼리 행이 반환되지 않은 경우, 빈 열 (null이 아닌) 또는 빈 행으로 쿼리의 모든 열을 반환

이 가능

원래 쿼리가

select a,b,c from tbl 

을 경우 당신은 쿼리를 보장 항상하는 하위 쿼리

select t.a,t.b,t.c 
from (select 1 as adummy) a 
left join (
    select a,b,c from tbl -- original query 
) t on 1=1 

으로 바꿀 수 있습니다 적어도 하나의 행 수가 있어야합니다.

+0

확인 나 해보자 .. .. –

+0

아주 좋습니다 ... 권장하지는 않지만 똑똑한 해결책입니다. 그것을 알아내는 데 2 ​​분의 좋은 시간을 보냈습니다. (하지만 그게 나입니다.) *. –

3

당신의 목표는 더 레코드 쿼리를 반환하거나 빈 레코드/데이터 세트로, 다음은 원래 쿼리에 어떤 사전 지식없이 작동하는 경우 : 그래서 당신의 쿼리를 가정

SELECT * FROM (myOriginalQuery) as mySelect WHERE 0 = 1 
관련 문제