застрял с созданием запроса для этого? - PullRequest
0 голосов
/ 08 декабря 2018

Сотрудник № 99 позвонил больному.Нам нужны полные данные его руководителя.

У меня есть таблица сотрудников с полями "empno", "name", "date_of_birth", "address", "postcode", "cinema_no", "super_empno" в качестве полей.

Супервизор сотрудника № 99 - это подробности о «super_empno», которое также находится в таблице сотрудника.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Вам необходимо выполнить самостоятельное объединение:

Я создал следующую таблицу:

create table table1("empno" int, "name"  varchar(33), "super_empno" int);
insert into table1 values(1, "Bob", 5);
insert into table1 values(2, "Megan", 7);
insert into table1 values(3, "Poul", 5);
insert into table1 values(4, "Eva", 6);
insert into table1 values(5, "Zane", 2);
insert into table1 values(6, "Ibrogim", 7);
insert into table1 values(99, "Nikolaus", 1);

Как данные результата выглядят так:

1|Bob|5
2|Megan|7
3|Poul|5
4|Eva|6
5|Zane|2
6|Ibrogim|7
99|Nikolaus|1

Супервизор дляпользователь 99 - это пользователь 1. Чтобы получить информацию о супервизоре 99-го пользователя, необходимо выполнить самостоятельное объединение в таблице1:

select b.* from table1 a, table1 b where a.empno=99 and a.super_empno = b.empno;

Результат:

1|Bob|5
0 голосов
/ 08 декабря 2018
SELECT * 
FROM employee
WHERE empno = (SELECT super_empno FROM employee WHERE empno = 99)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...