@alexeysikora

Как сформулировать запрос из двух таблиц, где нужно взять два разных значения одного столбца?

Есть две таблицы:

CREATE TABLE Пользователь(
    ID_Пользователя int Not Null Primary Key Identity(1,1),
    ФИО nvarchar(60) Not Null,
);

CREATE TABLE Запись_на_прием(
    ID_Записи int Not Null Primary Key Identity(1,1),
    ID_Водитель int Not Null,
    ID_Врач int Not Null,
);


И определены внешние ключи:

ALTER TABLE Запись_на_прием
    ADD CONSTRAINT FK_Запись_Водитель
	FOREIGN KEY (ID_Водитель) 
	REFERENCES Пользователь (ID_Пользователя);

ALTER TABLE Запись_на_прием
    ADD CONSTRAINT FK_Запись_Врач
	FOREIGN KEY (ID_Врач) 
	REFERENCES Пользователь (ID_Пользователя);


Мне нужно получить все записи из таблицы "Запись_на_прием" так, чтобы вместо ID_Водитель и ID_Врач выводились ФИО пользователей из таблицы "Пользователь" по их ID. Можно ли это сделать как-то в одном запросе?
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
SELECT Запись_на_прием.ID_Записи, Водитель.ФИО Водитель, Врач.ФИО Врач
FROM Запись_на_прием
JOIN Пользователь AS Водитель ON Водитель.ID_Пользователя = Запись_на_прием.ID_Водитель 
JOIN Пользователь AS Врач ON Врач.ID_Пользователя = Запись_на_прием.ID_Врач
;


MS SQL online test
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы