A
A
alexeysikora2022-03-31 09:53:21
SQL
alexeysikora, 2022-03-31 09:53:21

How to formulate a query from two tables, where you need to take two different values ​​​​of the same column?

There are two tables:

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,
);


And foreign keys are defined:

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

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


I need to get all the records from the "Record_to_admission" table so that instead of ID_Driver and ID_Doctor, the full name of users from the "User" table is displayed by their ID. Can this be done somehow in one request?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Slava Rozhnev, 2022-03-31
@alexeysikora

SELECT Запись_на_прием.ID_Записи, Водитель.ФИО Водитель, Врач.ФИО Врач
FROM Запись_на_прием
JOIN Пользователь AS Водитель ON Водитель.ID_Пользователя = Запись_на_прием.ID_Водитель 
JOIN Пользователь AS Врач ON Врач.ID_Пользователя = Запись_на_прием.ID_Врач
;

MS SQL online test

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question