簡體   English   中英

如何在一個表中選擇兩列匹配值的記錄?

[英]How to select records with two columns matching values in one table?

我在線創建一個請求表單,員工在系統中生成請求,但他/她的老板只能查看在他下面工作的員工請求。

例如:在一個組織中,有不同的員工在1個老板下工作。

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

在上面的表格場景中,如果員工(012)將生成任何請求,那么只有boss(001)能夠查看該請求沒有其他人,與員工(014)相同將生成任何請求然后只有boss(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

因為,兩個表都檢索相同的值,然后使用join作為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

像這樣的東西:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM