我需要創建一個查詢,顯示員工的姓氏,員工ID,該員工的經理姓氏以及該經理的ID。如何在子查詢中使用superquery中的值?
姓氏,ID,以及該員工的經理ID是很容易做到,因爲它已經在一排,這意味着以下就足夠了:
SELECT last_name, employee_id, manager_id FROM employees WHERE manager_id IS NOT NULL;
但得到的姓氏經理,你必須通過你從員工那裏得到的經理ID來搜索同一張表。我找到了解決辦法是:
SELECT last_name,
employee_id,
(SELECT last_name FROM employees WHERE employee_id = manager_id),
manager_id
FROM employees
WHERE manager_id IS NOT NULL;
然而,似乎是「經理標識」並沒有在子查詢工作(雖然我預計),輸出爲NULL(對於經理ID,其他所有欄目做有價值)。
所以我的問題是,我怎麼能在子查詢中使用manager_id?
備註:每個員工的manager_id可能不同,因此使用常量值不起作用。
+1用於抽出時間來清楚地解釋你在做什麼這裏和爲什麼。非常感謝幫助經驗較少的研究員。 – mathguy