2013-11-25 2 views
1

동일한 구조 (2012 년 및 2013 년)를 가진 두 개의 테이블이 있는데, 둘 다 사람의 세부 정보와 함께 작업 ID. 나는 승진 한 모든 사람들의 목록을 찾고자합니다. 나는 사람 ID가 2012 테이블에 존재하지만 위치 ID가 변경된 경우에만 프로모션을 얻었음을 알고 있습니다. 나는 존재를 사용할 수 있고 2012 테이블에있는 모든 레코드를 얻을 수 있지만 두 테이블의 레코드가 위치 ID에 대해 다른 값을 가져야한다는 사실을 확인하려면 어떻게해야합니까?id가 다른 테이블에 있지만 다른 열의 값이 다른 레코드의 목록을 가져 오는 쿼리

& 2 표 1 :

pers_id, 이름, 부서, 급여, 작업 ID .....

답변

1
SELECT t2.* 
FROM table2012 t1 
INNER JOIN table2013 t2 ON t1.tableID = t2.tableID 
WHERE t1.position <> t2.position; 

tableId은 테이블의 각 레코드에 대한 식별자입니다. 내가 pers_id인지 아니면 다른 이드인지 확실하지 않습니다.

+1

가 액세스하여 구문 오류 발생 '! ='이므로 't1.position <> t2.position' – HansUp

+0

@HansUp로'WHERE' 조건을 변경. 감사 –

1
SELECT Data2013.pers_id 
FROM Data2013 INNER JOIN Data2012 
    ON (Data2013.pers_id = Data2012.pers_id) AND (Data2013.position_id <> Data2012.position_id);