Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL. Склеивание временных таблиц разного размера

Евгений Поляков Ученик (237), на голосовании 1 год назад
Ребят, нужно склеить две временные таблица, но так, чтобы к 1-й временной таблице (1-й скрин) добавилось поле COUNT(employee.emp_id) из 2-й временной таблицы (2-й скрин). Должно получится как на 3-ем скрине. Помогите, пожалуйста.
SQL-запрос 1-й таблицы:
SELECT employee.fname as fname, employee.lname as lname, branch.name as bname, department.name as dname
FROM employee JOIN branch ON employee.assigned_branch_id=branch.branch_id
JOIN department ON employee.dept_id=department.dept_id

SQL-запрос 2-й таблицы:
SELECT department.name , COUNT(employee.emp_id)
FROM department JOIN employee ON department.dept_id=employee.dept_id
GROUP BY department.name
Голосование за лучший ответ
Белый Клык Мастер (1356) 1 год назад
Если нужно добавить число employee для department в каждой строке, то можно добавить это поле "cnt" подзапросом :

SELECT employee.fname as fname, employee.lname as lname, branch.name as bname, department.name as dname
  ,(SELECT COUNT(*) FROM employee emp1 WHERE emp1.dept_id=department.dept_id) cnt 

FROM employee JOIN branch ON employee.assigned_branch_id=branch.branch_id
JOIN department ON employee.dept_id=department.dept_id
Black Afgano Просветленный (22302) 1 год назад
 SELECT
employee.fname as fname
, employee.lname as lname
, branch.name as bname
, department.name as dname
, COUNT(*) OVER(PARTITION BY department.name)
FROM employee
JOIN branch
ON employee.assigned_branch_id = branch.branch_id
JOIN department
ON employee.dept_id = department.dept_id
Похожие вопросы