2015-08-03 4 views
0

staff стол:Что такое запрос sql?

 id  name 
     1  tony 
     2  sony 
     3  bony 
     4  rony 
etc. 

xyz стол:

current staff, next staff, hod staff, vp staff. 
     1   2   3   4 
     2   3   1   4 
     4   3   2   1 
etc. 

при запуске

`select * from xyz,` 

Мне нужен запрос, который вместо того, чтобы дать мне id это будет на самом деле дать мне имена, которые штат служащих из таблица персонала.

+0

возможно дубликат [SQL JOIN и разные типы JOIN] (http://stackoverflow.com/questions/17946221/sql-join-and-different-types-of-joins) – nkorth

ответ

1

Вы должны присоединиться к staff таблице больше, чем когда-то

SELECT b.name AS current_staff, 
     d.name AS next_staff, 
     c.name AS hod_staff, 
     e.name AS vp_staff 
FROM xyz a 
     INNER JOIN staff b 
       ON a.current_staff = b.id 
     INNER JOIN staff c 
       ON a.hod_staff = c.id 
     INNER JOIN staff d 
       ON a.next_staff = d.id 
     INNER JOIN staff e 
       ON a.vp_staff = e.id 
1

Если я правильно Вас понял, я думаю, вы просто могли бы использовать мультипликатор присоединиться здесь:

select a.name, b.name, c.name, d.name from xyz 
     inner join staff as a on a.id = xyz.currentstaff 
     inner join staff as b on b.id = xyz.nextstaff 
     inner join staff as c on c.id = xyz.hodstaff 
     inner join staff as d on d.id = xyz.vpstaff 
Смежные вопросы