开发者

New Sql query solution

person_id | manager_开发者_Go百科id | name |
          |            |      |
-------------------------------

I have to display name of every person with manager name.

Yes its complete table. Thats all I have.


This one should give you all employees that have a manager, with employee_name and manager_name. Replace your_table by your table name.

If you want to get all persons, also that without manager, replace the JOIN by a LEFT JOIN. This would return NULL as manager_name for all persons without manager_id.

SELECT t1.name employee_name, t2.name manager_name
FROM [your_table] t1
JOIN [your_table] t2 ON ( t1.manager_id = t2.person_id )


Which SQL dialect? Here's some TSQL, but I'm vague to the actual question ("every person with manager name"); if you mean "given a manager name, list the people (reports)", then:

SELECT peon.[person_id], peon.[name]
FROM [thetable] mgr
INNER JOIN [thetable] peon
  ON peon.manager_id = mgr.[person_id]
WHERE mgr.[name] = @name
ORDER BY peon.[name]

If you mean "list the people, along with their manager's name", then:

SELECT peon.[person_id], peon.[name], mgr.[name] AS [manager]
FROM [thetable] peon
LEFT OUTER JOIN [thetable] mgr
  ON mgr.[person_id] = peon.manager_id
ORDER BY peon.[name]


SELECT person.name, manager.name 
FROM table person, table manager 
WHERE person.manager_id = manager.person_id
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜