2013-08-12 3 views
1

안녕하세요 저는이 포럼을 살펴 보았으며 값 기반 열 이름을 얻는 데 도움이 필요합니다. 내가 같은 테이블이 예를 들어열의 값을 기반으로 열 이름을 검색하는 SQLite 쿼리

:

|Name | Column1 | Column2 | Column3| 
|-----------------------------------| 
|Peter | 100  | 120  | 92  | 
|-----------------------------------| 
|James | 110  | 105  | 88  | 
|-----------------------------------| 
|David | 90  | 112  | 98  | 

나는 값이 92입니다 피터의 쿼리를 수행 할 내가 COLUMN3를 반환하는 쿼리를해야합니다.

저는 아주 기본적인 SQL을 알고 있으며, 깊이 이해하기 위해 sqlite를 실제로 사용하지 않았습니다.

내가 검색 한 가장 좋은 해결책은 mysql : 에서 작동하는이 스레드입니다.

나는 이것을 테스트했으며 정확하게하고 싶습니다. 물론 sqlite가 아닙니다.

이것이 sqlite를 사용하여 수행 할 수 있는지 알고 싶습니다. 그렇다면 적절한 구문은 무엇입니까? 다시 아주 기본적인 SQL을 알고 있습니다.

누구든지 조언이나 조언을 주시면 감사하겠습니다.

+0

얼마나 많은 열이 테이블에? – peterm

+1

SQLite에 액세스 할 때 사용하는 프로그래밍 언어는 무엇입니까? SQLite는 최소한 간단한 SELECT와 JOIN 쿼리로 소스 컬럼을 추적하기 때문에 결과 세트 컬럼에서 컬럼 이름을 검색하는 내장 메소드를 가지고있다. – Anurag

+0

내가 C#에서 개발 중이며 SQLite (http://sourceforge.net/projects/sqlite-dotnet2/) 용 ADO.NET 2.0 공급자를 사용하여 오래 전에 다운로드 한 적이 있습니다. 내가 사용하고있는 것보다 더 좋은 옵션이 있다면 나는 모든 귀이다. 그러나 지금까지는 잘 작동한다. 나는 당신이 언급 한이 빌트인 방법을 찾아 봐야 할 것 같아요, 누군가 이걸하는 좋은 방법을 안다면 나는 단지 궁금했습니다. 최악의 경우 전체 결과를 가져 와서 원하는대로 처리 할 수있는 인앱 코딩을 수행 할 수 있지만 SQL 끝 부분에서 처리하는 것이 좋습니다. – SmalekTF

답변

1

열이 몇 가지 경우 이름은 당신이 사용할 수있는 고정 : -

select case when col1 == 92 then col1 
      when col2 == 92 then col2 
      when col3 == 92 then col3 
     end 
    from tab; 
+0

18 개의 열이 있으므로 옵션이 될 수 있지만 약간 추한 것일 수 있습니다. 감사. – SmalekTF

+0

그런 경우라면 아마도 @Anurag가 올바른 방법을 제안했을 것입니다. – Himanshu

+0

위의 게시 된 sql 문을 시도하고 오류가 발생하면 sqlite3 구문이 올바른 것입니까? – SmalekTF

관련 문제