0
我在與下面的查詢問題,在SQL Server的工作。使用聚集和MAX函數
SELECT
emp_id= CASE employee_id
WHEN ''
THEN RTRIM(last_name) + '_' + RTRIM(first_name)
+ '_' + RTRIM(gender) + '_'
+ RTRIM(race_ethnicity_code) + '_'
+ RTRIM(high_degree_code) + '_' + RTRIM(position_code) + '_'
+ RTRIM(assignment_code)
ELSE employee_id
END ,
last_name, first_name,
assign_perc,
assignment_num,
CAST((total_salary)AS NUMERIC (18,2))* CAST((assign_perc) AS NUMERIC (18,2)) AS salary,
total_salary
FROM employee
ORDER BY last_name, first_name, district_name
我的腳本是一個簡單的列提取,當emp_id爲null時,通過case語句創建一個唯一的鍵。我遇到的問題是,當這個人有多個分配時,將assign_perc與total_Salary相乘,並且當該銷售人員僅列出一次時獲得最高工資。例如 - 我的預計業績:
約翰·史密斯是唯一被列具有一種分配的兼職工人只有一次,所以他assign_perc將小於1但我仍然需要最高的薪水,而不是總計(assign_perc * total_salary)。感謝您的幫助。
您的結果與SQL不一致。對於約翰史密斯,薪水和總薪水有相同的價值,但薪水應根據您的查詢0.75 * total_salary。 –
我提供的結果是我需要的。我的查詢目前正在生產(.75 * 10400)= 7800 - 約翰史密斯的薪水。 – Tone
解決方案將非常麻煩,因爲您沒有簡單的方法來確定特定員工的條目數量,而無需具體的employee_id。 – PinnyM