2011-09-27 2 views
0

나는 더 복잡한 쿼리를 수행했고 난처한 상태입니다.2 개의 테이블을 연결하려고 시도했지만 수행 할 수 없습니다.

테이블 :

STEPS (id, rank, description) 
ELEMENTS (element, element_id, year_code) 

표는 STEPS.id = ELEMENTS.element_id where ELEMENTS.year_code = 2010

나는 그것 rank하여 step를 검색 할

에 의해 관련, 그러나 그것은 만들기 위해 요소 테이블을 점검 할 필요가 있는지 나는 적절한 단계를 당겨 동일한 계급을 가진 두 단계가있을 수 있기 때문에 (즉, year_code이 출현하는 곳이기 때문에 같은 해 중복 순위가 없습니다).

그래서 나는 단계 테이블이 모든 단계를 보유하고 요소 테이블이 단계에 속한 것을 년간의 추적

평가하는 step

where steps.rank = 1.2.4 and elements.year_code = 2010 

어떤 도움을 보려는.

+1

'STEPS'와'ELEMENTS' 사이의 관계는 무엇입니까? 즉, 두 열을 함께 연결하는 열은 무엇입니까? –

+0

'요소들 '과'단계들'은 어떻게 링크되어 있습니까? element_id로? – Johan

+0

그 사람들에 대해 미안 해요, 내 질문을 개정. – Brad

답변

1

저는 링크 필드가 없으므로 필드를 연결하기 위해 elements.step_id을 사용하려고합니다.
쿼리를 필드 이름으로 조정하십시오.

SELECT s.* 
FROM steps s 
INNER JOIN elements e ON (e.steps_id = s.id) 
WHERE s.rank = '1.2.4' AND e.year_code = '2010' 

아니면 당신은 의미 :

SELECT s.* 
FROM steps s 
INNER JOIN elements e ON (e.steps_id = s.id) 
WHERE s.rank IN ('1','2','4') AND e.year_code = '2010' 
1
SELECT s.id, s.rank, s.description 
    FROM STEPS s 
     INNER JOIN ELEMENTS E 
      ON s.id = e.element_id 
    WHERE s.rank = '1.2.4' 
     AND e.year_code = 2010 
관련 문제