我遇到SQL查詢問題。SQL查詢錯誤和錯誤
問題:顯示所有在最大薪水大於10000
我得到這個輸出的部門,但它看起來不正確。
我的代碼:
SELECT
Department_Name, Max_Salary
FROM
Departments
INNER JOIN
Job_History ON Departments.department_id = Job_History.department_id
INNER JOIN
Jobs ON Job_History.job_id = jobs.job_id
WHERE
Max_Salary > 10000
輸出:
DEPT_NAME | MAX_SALARY
------------------------
Accounting | 16,000
Sales | 12,080
Sales | 20,080
只有一個銷售部門在數據庫中。
任何幫助,爲什麼發生這種情況將不勝感激。
你可以去各個表,並獲得與最高工資部門?仔細檢查部門名稱。 – 2014-10-11 23:56:07
我假設Max_Salary來自Job_History或Jobs,並且在銷售部門的情況下,這些表格中的多個行適用,因此您在輸出中看到Sales不止一次。您可能需要對Max_Salary求和並使用Group By和Having分句。如果您可以向我們展示表格中的相關數據,它可以讓我們爲您提供一個體面的答案。 – NigelK 2014-10-11 23:59:13
@BoratSagdiyev我不能不幸地因爲Department_Name在dbo.Departments中,dbo.Job_History通過department_id鍵鏈接部門和工作。 Max_Salary位於作業表中,作業_ID鏈接Job_History和作業。我必須鏈接3個表格。我已經完成了。我嘗試了NigelK的建議並取得了一些成功,但它仍然只顯示3個部門沒有重複,但我認爲更多的行應該受到影響。 – JasonL1983 2014-10-12 00:52:55