我有一个表称为employeee(三联E公司):MySql的自联接子内连接返回交叉连接
+------------+------------+---------------+--------------+
| employeeid | lastname | country | departmentid |
+------------+------------+---------------+--------------+
| 123 | Rafferty | Australia | 31 |
| 124 | Jones | Australia | 33 |
| 145 | Heisenberg | Australia | 33 |
| 201 | Robinson | United States | 34 |
| 305 | Smith | Germany | 34 |
| 306 | Williams | Germany | NULL |
+------------+------------+---------------+--------------+
我的目的是配对(自联接)同一国家内的人并把他们一边侧。
于是我想出了与同事一些帮助下面的查询:
SELECT f.employeeid, f.lastname, s.employeeid, s.lastname, f.country
FROM employeee f INNER JOIN employeee s ON f.country = s.country
结果是不是100%,我打算。交叉连接似乎是在结果:
+------------+------------+------------+------------+---------------+
| employeeid | lastname | employeeid | lastname | country |
+------------+------------+------------+------------+---------------+
| 123 | Rafferty | 123 | Rafferty | Australia |
| 124 | Jones | 123 | Rafferty | Australia |
| 145 | Heisenberg | 123 | Rafferty | Australia |
| 123 | Rafferty | 124 | Jones | Australia |
| 124 | Jones | 124 | Jones | Australia |
| 145 | Heisenberg | 124 | Jones | Australia |
| 123 | Rafferty | 145 | Heisenberg | Australia |
| 124 | Jones | 145 | Heisenberg | Australia |
| 145 | Heisenberg | 145 | Heisenberg | Australia |
| 201 | Robinson | 201 | Robinson | United States |
| 305 | Smith | 305 | Smith | Germany |
| 306 | Williams | 305 | Smith | Germany |
| 305 | Smith | 306 | Williams | Germany |
| 306 | Williams | 306 | Williams | Germany |
+------------+------------+------------+------------+---------------+
而且为什么没有做f.employeeid, s.employeeid
当使用AS
别名关键字?我认为这些都是必需的。
你想要什么样的结果? –
你的问题是什么? – HaveNoDisplayName
我的意图是将同一个国家的人员(自我加入)并排放在一起。 –