2017-02-20 2 views
0

그래서 값이있는 100 개의 열이 같아서 모두 테라 데이타의 각 행에 대해 합계해야합니다. 각 열 이름을 입력 할 필요없이 모든 것을 합칠 수있는 방법이 있습니까?Teradata- 열 이름을 입력하지 않고 열 단위로 값을 더하기

나는 결과가 열 이름을 입력하지 않고

SELECT CustID,(Col1+Col2+Col3+Col4+.....................Col100) 

FROM CustomerTable 

내가이 작업을 수행 할 수 싶어요. 나는 모든 행을 합할 것임을 안다. 마찬가지로 같은 행의 각 열에서 값을 합산 할 수있는 방법이 있습니까?

+1

당신의 요청이 나쁜 디자인에 대한 표시이다 일을 쉽게 할 수 있습니다. –

+0

아니요. SQL에서는 합계하려는 것을 입력해야합니다. 당신은 ... 그 테이블/데이터베이스 테이블에 대해'dbc.columns'에서 선택하고, 커서를 열고, 레코드를 반복하고, 결과를 사용하여 동적 SQL 문을 작성한 다음 실행하는 proc를 작성할 수 있습니다. 하지만 ... 아마 100x 열을 요약하기 위해 간단한 SQL 문을 작성하는 것보다 1000 배는 더 어려울 것입니다. – JNevill

+0

또한 이처럼 지루한 작업을 할 때 메모장에 열 이름을 덤프하고 쉼표를 찾아 교체하십시오. 별로 효과가 없습니다. – JNevill

답변

0

이것은 당신이

select  '+ ' || columnname 

from  dbc.columnsv 

where  databasename = '{your database}' 
     and tablename  = '{your table}' 
     and columnname  not in ('CustID',...,...) 

order by columnid   
관련 문제