2016-10-13 18 views
0

下面是一個簡化版本,我的表:加入一個表本身VS使用組由MySQL

它包含列 employee_id column2 column3 x y 而且都是NUMERIC

我無法寫一個複雜的MySQL查詢。我想爲所有在column2中與另一位僱員具有相同價值的員工獲取所有employeeidcolumn3值,併爲所有其他員工的xy PAIR獲得不同值。例如,如果滿足下列4行分別在表:

2 100 123.456 5 7 
1 234 123.456 5 7 
3 100 456.789 5 10 
4 100 123.456 5 7 

中的行2 100 123.456 5 73 100 456.789 5 10應當獲得,因爲它們具有不同的員工ID(2 VS 3),用於column2相同的值(100100),和不同x,y對:(員工2具有x = 5和y = 7,這與x = 5和y = 10不同)。

如何比較表格中的文檔和其他文檔?

回答

0
SELECT e1.* 
FROM employee e1 
JOIN employee e2 
    ON e1.employee_id <> e2.employee_id 
AND e1.column2 = e2.column2 
AND e1.X <> e2.X 
AND e1.Y <> e2.Y 

但我猜你的最後一個條件應該是

AND (e1.X <> e2.X OR e1.Y <> e2.Y) 
+0

嗯,我沒有得到我預期的答案,但這個答案似乎適合我在OP提到的問題 –