Как мне присоединиться к полю в таблице, которое использовалось как FK в другой таблице в 2 разных полях - PullRequest
0 голосов
/ 20 июня 2020

У меня есть поле в таблице сотрудников с надписью «идентификатор сотрудника»; смотрите скриншот. Это поле используется в другой таблице (товарах) 2 раза как «Строитель» и «Валидатор». Оба этих поля имеют тип данных int. Теперь вместо того, чтобы видеть значения int для конструктора и валидатора в таблице продуктов, я хочу видеть EMPFullname. Кроме того, некоторые продукты могут не иметь значений для полей builder и validatoer. Вот синтаксис, который у меня есть:

select t1.builder,
t1.validator 
from products as t1 left join employee as emp 
on t1.builder=emp.employeeID

Но это дает мне только имя сотрудника, а не полное имя. Как я могу иметь что-то вроде этого:

Product_name, builder, Validator,
1234, Jon Snow, Tyran Lannister

enter image description here

1 Ответ

1 голос
/ 20 июня 2020

Вы должны использовать два соединения:

select p.*, eb.empfullname as builder_fullname, ev.empfullname as validator_fullname
from products p left join
     employee eb
     on p.builder = eb.employeeID left join
     employee ev
     on p.validator = ev.employeeID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...