Слияние кода завершено, страница обновится автоматически
Подсчитайте количество повышений зарплат сотрудников в каждом отделе, предоставив код отдела dept_no, название отдела dept_name и общее количество повышений sum.
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
`dept_name` varchar(40) NOT NULL,
PRIMARY KEY (`dept_no`)
);
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`)
);
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`)
);
SELECT dept_no, dept_name, SUM(sum) AS sum FROM (SELECT emp_no, d.dept_no, dept_name FROM dept_emp de LEFT JOIN departments d ON de.dept_no = d.dept_no) info INNER JOIN (SELECT emp_no, COUNT(salary) AS sum FROM salaries s GROUP BY emp_no) s ON info.emp_no = s.emp_no GROUP BY dept_no
-- Количество повышений зарплат
(SELECT emp_no, COUNT(salary) AS count FROM salaries s GROUP BY emp_no) s
-- Информация об отделах
(SELECT emp_no, d.dept_no, dept_name FROM dept_emp de LEFT JOIN departments d ON de.dept_no = d.dept_no) info
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )