2015-10-17 42 views
2

我在这里有一个情况是从两个不同的表中比较他们的jobid,deliverymanid,pickup man和employeeid来自job和employee表的数据(即fname和lname),并将它合并成一行。如何组合两个查询并将数据合并到一行中?

这是工作表

jobid pickupmanid deliverymanid 
----- ----------- ------------- 
    1   1   2 
    2   2   2 

这是员工表

employeeid  fname   lname 
---------- ----------- ------------- 
    1   ABC   XYZ 
    2   LMN   OPR 

这里pickupmanid和deliverymanid充当作业表指在员工表中雇员一个外键。

+0

'选择FNAME,LNAME从tblJobĴ上INNER JOIN J.deliverymanidËtblEmp = E.employeeid' – wiretext

+1

和哪个RDBMS? – Strawberry

回答

4

您可以加入在employeejob表两次 - 一次为选择器,上层为送货员,一旦:

SELECT j.jobid, 
     p.fname AS pickup_fname, p.lname AS pickup_lname, 
     d.fname AS delivery_fname, d.lname AS delivry_lname 
FROM job j 
JOIN employee p ON p.employeeid = j.pickupmanid 
JOIN employee d ON d.employeeid = j.deliverymanid