2011-03-11 2 views
1

내 SQL 뷰는 반환보기에서 계산 된 열 만들기. 가능한가?

ID Name 
AA Gina 
AB George 
AC John 

내가 계산 된 열 UpCounter 그래서 내보기

ID Name UpCounter 
AA Gina 1 
AB George 2 
AC John 3 

같은 그것은 가능을 반환 추가 할 다음?

업데이트 : UpCounter 실제로 행 인덱스

+0

어느 SQL Server를 사용하고 있습니까?보기는 기본적으로 런타임시 평가되는 선택 항목입니다 (인덱싱 된 뷰는 고려하지 않음). Select와 마찬가지로 모든 계산을 수행하거나 뷰의 열에 대해 ufd를 호출 할 수 있습니다. –

+0

그냥 행 인덱스입니까? – Jamiec

+0

짧은 대답은 "예"입니다. 그러나 방법론은 가지고있는 SQL 버전에 따라 다릅니다. 또한 열 UpCounter를 채우기위한 기준은 무엇입니까? –

답변

4

OVER Clause를 참조한다.

WITH x AS (
    SELECT 'AA' as ID, 'Gina' as Name 
    UNION 
    SELECT 'AB' as ID, 'George' as Name 
    UNION 
    SELECT 'AC' as ID, 'John' as Name 
) 
SELECT ID, Name, ROW_NUMBER() OVER(ORDER BY ID ASC) AS UpCounter 
FROM x 
1

당신은 ROW_NUMBER() 함수를 사용할 수 있습니다 :

SELECT ROW_NUMBER() OVER (ORDER BY [ID]) AS MyIndex, 
     [ID], 
     [Name] 
FROM MyTable 

는 또한, 계산 된 열은 다른 무언가가주의를

SELECT ID, Name, ROW_NUMBER() OVER(ORDER BY ID ASC) AS UpCounter 
FROM xyz 

여기에 사용 사례입니다. 계산 된 열은 테이블에있는 "가상 열"로 계산 된 포럼을 저장하고 필드가 선택됩니다. 행 공간을 차지하지 않습니다.