2013-11-25 116 views
1

我有兩個表具有相同結構的表(2012年一個,2013年一個),都包含人員及其詳細信息作業ID。我正在尋找所有獲得晉升的人的名單。我知道,只有在2012年表格中存在其人員ID但位置ID已更改的人員才能獲得此優惠。我知道我可以使用exists並獲取2012年表中的所有記錄,但是如何檢查兩個表中的記錄應該具有不同的位置id值?查詢獲得其他表中存在其ID的記錄列表的查詢,但其他列的值不同

表1 & 2:

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,或者您有不同的ID。

+1

訪問拋出一個語法錯誤與'!=',因此改變它的'WHERE'條件't1.position <> t2.position' – HansUp

+0

@HansUp。謝謝 –

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