2017-10-20 137 views
0

工作,用戶需要顯示從在同一個部門就像Last_name誰在同一個部門

我如何能做到這一點的工作EmployeesLast_names

SELECT LAST_NAME, DEPARTMENT_ID 
FROM EMPLOYEES 
WHERE DEPARTMENT_ID = DEPARTMENTID(&LAST_NAME) 

這就是我的嘗試。也許它適用於連接,但我從字面上不知道... 任何人都可以幫忙嗎?

我的表:

  • Empoyees(EMP_ID,LAST_NAME,DEPARTMENT_ID)
  • 部門(DEPARTMENT_ID,位置)

應該看起來像(爲例姓 「王」)

| LAST_NAME | DEPARTMENT_ID | 
| Mueller | 20   | 
| Bach  | 20   | 
+0

添加一些示例表數據和預期結果 - 作爲格式文本(不是圖像)。 – jarlh

+0

儘可能好地嘗試 – Jensoo

回答

0

有一個子查詢返回最後一個員工的部門ID(s)名稱。通過IN獲得來自同一部門的其他員工。

SELECT LAST_NAME, DEPARTMENT_ID 
FROM EMPLOYEES 
WHERE DEPARTMENT_ID IN (select DEPARTMENT_ID 
         FROM EMPLOYEES 
         WHERE LAST_NAME = &LAST_NAME) 

根據其DBMS您使用,一個JOIN版本可能會有更好的表現:

SELECT e1.LAST_NAME, e1.DEPARTMENT_ID 
FROM EMPLOYEES e1 
JOIN (select DEPARTMENT_ID 
     FROM EMPLOYEES 
     WHERE LAST_NAME = &LAST_NAME) e2 
    ON e1.DEPARTMENT_ID = e2.DEPARTMENT_ID 
0

我加了2個單引號('),現在它的工作。

SELECT LAST_NAME, DEPARTMENT_ID 
FROM EMPLOYEES 
WHERE DEPARTMENT_ID IN (select DEPARTMENT_ID 
         FROM EMPLOYEES 
         WHERE LAST_NAME = '&LAST_NAME')