Как выбрать записи с двумя столбцами, совпадающими по значениям в одной таблице? - PullRequest
0 голосов
/ 26 апреля 2019

Я создаю одну форму запроса онлайн, в которой сотрудник генерирует запрос в системе, но его / ее начальник может просматривать только запросы сотрудника, которые работают под ним.

Например: в организации есть несколько сотрудников, работающих под руководством одного начальника.

---------------------
|EmpNo   |BossNo    |
---------------------
|011     |001       |
|012     |001       |
|013     |001       |
|014     |002       |
---------------------

Здесь в приведенном выше сценарии таблицы, если сотрудник (012) сгенерирует какой-либо запрос, тогда только начальник (001) сможет просмотреть этот запрос, никто другой, так же как сотрудник (014) сгенерирует любой запрос, тогда только босс (002) может просмотреть этот запрос и принять его.

Я хочу создать SQL-запрос для этого ... Но мне не удалось создать запрос для этого. Здесь ниже запрос

select e1.empno, e1.bossno
  from employeedetails as e1
  inner join employeedetails as e2
    on e1.empno= e2.empno
   and e1.bossno= e2.bossno
  group by e1.empno, e1.bossno
  order by e1.empno, e1.bossno

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Примерно так:

SELECT request.Info, request.empno, empDetails.EmployeeName
FROM requestTable as Request
    INNER JOIN employeedetails AS empDetails ON Request.empno = empDetails.empno
WHERE empDetails.bossno = @IdOfLoggedInEmployee
0 голосов
/ 26 апреля 2019

Поскольку обе таблицы извлекают одинаковые значения, затем используют объединение как <code>e1.empno= e2.empno and e1.bossno= e2.bossno

Я так думаю:

select e1AsBoss.empno as idBoss , e2AsEmployer.empno as idEmployer
  from employeedetails as e1AsBoss
  inner join employeedetails as e2AsEmployer
    on e1AsBoss.empno= e2AsEmployer.bossno
  group by e1AsBoss.empno, e2AsEmployer.empno
  order by e1AsBoss.empno, e2AsEmployer.empno
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...