2010-06-22 3 views
1

SQL 쿼리 맨 위에 빈 행을 포함시키는 방법이 있습니까? 예를 들어 드롭 다운 목록에 해당하는 경우? (MS SQL Server 2005 또는 2008)쿼리 결과에 빈 행 포함

Select * 
    FROM datStatus 
ORDER BY statusName 
나는 보통 바로 위에있는 테이블에서

-1 (please choose one) 
    1 Beginning 
    2 Middle 
    3 Ending 
    4 Canceled 

같은 것을 원하는

하지만, 맨 윗줄없이?

+0

당신은 당신이 결합 직후 시작 부분 (가장 가능성이 여기에가는)을하여 ListItem을 삽입 할 수 있습니다 ... 그것은 외부 SQL을 할 좋네요 느끼지만, 여기에 더 간단한 접근법처럼 보입니다. –

답변

6

나는,

SELECT -1, '(please choose one)' 
UNION 
SELECT * FROM datStatus 
ORDER BY statusName 
+0

UI 레이어에서 올바르게 수행하는 방법을 파악하는 데 어려움을 겪고 있었지만 마침내 알아 냈습니다. 감사! 나는 이것을 SQL에서하지 않고 여전히 답을 제시 할 것이기 때문에 이것을 받아 들일 것이다. –

+0

드롭 다운 목록 (HTML? .Net?)에 어떤 프레임 워크를 사용하고 있다고 말하면 대안을 제공하는 것이 더 쉽습니다. :) – Amadan

+0

.NET dropdownlists,하지만 이미 스택 오버플로에 대한 또 다른 대답을 찾았습니다 . 감사! –

4

문맥에 따라 요구 사항이 다를 수 있으므로 응용 프로그램의 프리젠 테이션 레이어에서이 방법을 사용하는 것이 좋습니다. 일반적으로 이러한 유형의 구현 특정 규칙이없는 데이터 서비스 계층을 유지하려고합니다. 따라서 귀하의 경우에는 일반적으로 목록의 첫 번째 위치에 인덱스를 사용하여 새 항목을 추가합니다. 서비스 계층의 데이터를로드 한 후입니다.

즐기십시오!

+0

+1, 이것이 내가 필요한 것이 아니더라도. 이 경우 ASP 프레 젠 테이션 레이어에서 asp.net sqldatasource를 사용하고 있는데, 데이터 소스를 radgrid 내부의 드롭 다운리스트에 바인딩하고 있기 때문에 이미 올바른 값을 가진 무언가가 필요합니다. –

2

나머지 쿼리와 함께 첫 번째 행을 결합하는 방법은 어떻습니까? 당신이 주장하는 경우

Select -1,'(please choose one)' 
union all 
select * FROM datStatus ORDER BY statusName 
+1

비록 Doug에 대해서는 Ui 레이어에서 처리해야한다고 일반적으로 동의하지만. – Jubal