2011-08-01 31 views
2

我有一个具有ID名称和经理ID数据库查询一个复杂的选择statment

id name manager_id 
1 myName 4 
2 alex 3 
3 brain 2 
4 someone 1 

现在我必须写这显示这样的

myname someone 
alex brain 
brain alex 
someone myname 

意味着我们必须结果查询表显示名称和mnager根据Id的名称

+0

阅读关于左连接。 (我不会说它很复杂...) –

回答

5

加入表本身:

SELECT t1.name, t2.name FROM my_table AS t1 
    LEFT JOIN my_table AS t2 ON(t1.manager_id = t2.id) 
+0

非常感谢noboddy它真的很有用 – Wasif

4

这是否会返回您以后的内容?

SELECT 
    t1.name AS Name, 
    t2.name AS manager 
FROM tab t1 
    JOIN tab t2 ON(t1.manager_id = t2.id) 
2
SELECT 
    employee.name, 
    manager.name 
FROM 
    tablename employee 
INNER JOIN 
    tablename manager 
ON 
    employee.manager_id = manager.id 

更换tablename与实际的表名。