2013-01-18 10 views
0

가능한 경우 변수가있는 열의 이름이 들어있는 다른 열 (CH1, CH2 or CH3)을 반환하고 싶습니다. 같은열 이름 찾기 SQL

뭔가 :

v1 => ch3 

v2 => ch1 

이 내 질문은 : 내 테이블의

SELECT variable 
FROM Variables , Names 
WHERE (Variables.ID = Names.Ch1 or Variables.ID = Names.Ch2 or Variables.ID = Names.Ch3) 

형식 :

Names(#ID,Ch2,Ch2,Ch3) 
Variables(#ID, variable,...) 

나는 %columName%와 시도했지만 오류가 발생합니다.

+1

받고있는 오류 메시지를 게시하십시오. – Brian

+1

# 1064 - SQL 구문에 오류가 있습니다. 해당 설명서를 확인하십시오 ... – Mils

답변

3

올바른 구문 더 같다 : 즉

select v.*, 
     (case when v.id = n.ch1 then 'CH1' 
      when v.id = n.ch2 then 'CH2' 
      when v.id = n.ch3 then 'CH3' 
     end) as WhichColumn 
from variables v join 
    names n 
    on v.ID in (n.Ch1, n.ch2, n.ch3) 

, 명시 적으로 넣어야 할 열 이름의 논리

+0

그게 내가 원하는거야! 고맙습니다. – Mils

0

변수 ID가있는 경우 등을 사용하려고 하지에만 INT 수

SELECT variable 
FROM Variables , Names 
WHERE 
(Variables.ID like '%Names.Ch1%' 
or Variables.ID like '%Names.Ch2%' 
or Variables.ID like '%Names.Ch3%')