Как добавить три таблицы в SQL Server
Скриншоты показывают таблицы для справки.
Моя цель состоит в том, чтобы получить мин-макс-Avg зарплату за состояние на дату
Я попробовал этот код
select
s.Descrip,
MIN(Salary) AS Minimum_per_state,
MAX(Salary) AS Maximum_per_state,
AVG(Salary) AS Average_per_state
from
(select
Month_ending,
Emp_id,Salary,
Descrip
from
Dim_state
full join
Dim_city ON Dim_state.State_id = Dim_city.State_id
full join
Employee_details ON Dim_city.City_id = Employee_details.City_id
where
Month_ending = 20150131) s
GROUP BY
Descrip
, но я получаю этот выход:
description min_sal max_sal avg_sal
Delhi 30000 34000 32000
maharastra 25000 35000 30000
tamil nadu 35000 50000 42000
Westbengal 25000 50000 37500
Проблема в Бангалоре и Гоа отсутствует.
Могу ли я узнать, какая часть пошла не так?
я попробовал ваш код, получая тот же результат, что я говорил в вопросе всего 4 записи. @nayak – sekharvarma
«Month_ending = 20150131» из вашего запроса является виновником:) ... Помните: без этого предложения where он будет объединяться со всеми записями, как вы ожидали. Но для двух состояний значение из employee_details после присоединения будет NULL. Итак, для вашего случая использования вам действительно нужно поставить это условие в предложение соединения. Dim_city.City_id = Employee_details.City_id и Month_ending = 20150131 – Nayak