2010-05-04 3 views
1

테이블/뷰에서 SELECT 절에서 n 번째 열을 선택하는 방법이 있나요 내가 같은 114 번째 열 것을 선택해야합니다나는 수백 열이 GIGANTIC보기를했습니다

SELECT "144" FROM MyView; 

PS를 : 분명히 , 나는 칼럼의 이름을 모른다. 방금 결과 행을 Excel 파일로 복사하고 EJ 열에있는 특정 값을 검색하여 내보기에서 n 번째 열만 표시하는 모든 행을 선택하여 추가 디버깅을 수행하려고합니다.

건배!

+0

어떤 데이터베이스입니까? MSSQL? MySQL은? 접속하다? ... – FrustratedWithFormsDesigner

+0

SQL Server 2005 –

답변

2

당신이

sp_help ViewName 

다음은 COLUMN_NAME에서 144 열을 스크롤 할 수는 해당 컬럼의 이름이 무엇인지 확인 결과 집합.

또한 SQL Server Management Studio의 결과 창에서 "헤더로 복사"를 선택하고 결과 집합을 머리글 (열 이름) 그대로 Excel에 붙여 넣을 수 있습니다.

+0

고마워, 이건 내 목적에 부합한다. 내가 5 분 안에 그렇게 할 수있게하자마자 대답을 받아 들일 것이다. –

0

아니오, 표준 SQL 또는 Oracle을 사용하여 인덱스별로 선택할 수 없습니다.

그러나 다른 데이터베이스 공급 업체에서는이 작업을 수행하기 위해 고유 한 명령을 사용하고있을 수 있습니다.

1

열 이름, 테이블 이름 및 n 값을 전달하는 일반 저장 프로 시저에서 다음을 사용할 수 있습니다. 이것은 MSSQL 2000 - 2008에서 작동합니다.

+0

감사합니다. Dolph. 게시를위한 코드 스 니펫 기능을 항상 잊어 버립니다. –

+0

요점은 내가 열 이름을 모른다는 것입니다. 어쨌든 고마워요 –

+0

그 점을 놓쳤습니다. : –

1

Excel 열의 이름을 기반으로 모든 열 이름을 지정하는 것이 좋습니다. 첫 번째 행을 열 이름 (예 : AA, BB 등)과 동일하게 만들려면 Excel 솔루션이 있어야합니다. 그런 다음 가져 오기를 수행 한 다음 계산할 수있는 열 이름을 기반으로 선택하십시오. 당신이 MS SQL Server를 사용하는 경우

0

동일한 문제가있어서이 코드로 해결했습니다. 저장 프로 시저에 사용

DECLARE @TableName as nVarchar(100); 
DECLARE @NthColumn as Int 

--we are fetching 1st column here. 

SELECT 

@TableName =N'YOURTABLE', 
@NthColumn=1 --Change if necessary 

DECLARE @ColumnName as varchar(100); 
SELECT @ColumnName = Col_name(object_id(@TableName),@NthColumn); 

EXEC ('SELECT ' + @ColumnName + ' FROM ' + @TableName); 
관련 문제