2015-10-17 2 views
2

У меня есть ситуация, чтобы получить данные (например, fname и lname) из двух разных таблиц, сравнивая их jobid, deliverymanid, pickupmanid и employeeid из таблицы работ и сотрудников и объединяя их в одну строку.Как объединить два запроса и получить данные в одну строку?

Это таблица Работа

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

Это таблица сотрудников

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

Здесь pickupmanid и deliverymanid выступают в качестве внешних ключей для таблицы заданий со ссылкой на EmployeeID в таблице сотрудников.

+0

'выбрать FName, LName из tblJob J INNER JOIN tblEmp E на J.deliverymanid = E.employeeid' – wiretext

+1

И какие РСУБД? – Strawberry

ответ

4

Вы можете присоединиться к job стол на employee столе дважды - один раз для выбора-верхний и один раз для доставляющего:

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 
Смежные вопросы