2014-11-04 96 views
0

我在创建查询时遇到问题。以下是具体细节。SQL查询多个表的相同值

  1. 有2张表company_career和company_people。
  2. 人们包含人员信息(姓名,地址等),职业包含历史职业信息(job_title,department等)
  3. 人们通过job_ref_id链接到职业。
  4. Direct_Report_id位于职业表中,并包含与job_ref_id相关的唯一ID。

例如:job_ref_id ='1'导致direct_report_id ='A'。然后,我使用从direct-report_id生成的值(即'A')并查询job_ref_id ='A',并生成员工姓名。由于它产生员工姓名(实际上是经理),所以我需要知道我将如何查询以将此作为经理姓名显示。

+2

请添加样本数据和所需的结果。 – 2014-11-04 20:31:10

+0

这里没有什么具体的东西..所有似乎都是猜测......针对样本数据 – SriniV 2014-11-04 20:33:14

回答

0

我想我知道你在找什么,你只需要使用连接和别名。例如:

SELECT 
cp.name AS [EmployeeName], 
cp.address AS [EmployeeAddress], 
cc.job_title AS [EmployeeTitle], 
cc.department AS [EmployeeDept], 
m.name AS [ManagerName] 
FROM company_people cp 
LEFT JOIN company_career cc ON cc.job_ref_id = cp.job_ref_id 
LEFT JOIN company_people m ON m.job_ref_id = cc.direct_report_id