We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
- Prepare
- SQL
- Advanced Select
- New Companies
- Discussions
New Companies
New Companies
Sort by
recency
|
3097 Discussions
|
Please Login in order to post a comment
MS SQL SERVER
SELECT c.company_code, c.founder, COUNT(DISTINCT lm.lead_manager_code) AS total_lead_managers, COUNT(DISTINCT sm.senior_manager_code) AS total_senior_managers, COUNT(DISTINCT m.manager_code) AS total_managers, COUNT(DISTINCT e.employee_code) AS total_employees FROM Company c LEFT JOIN Lead_Manager lm ON c.company_code = lm.company_code LEFT JOIN Senior_Manager sm ON c.company_code = sm.company_code LEFT JOIN Manager m ON c.company_code = m.company_code LEFT JOIN Employee e ON c.company_code = e.company_code GROUP BY c.company_code, c.founder ORDER BY c.company_code;
EASIEST SOLUTION
select c.company_code, c.founder ,count(DISTINCT l.lead_manager_code),
count(DISTINCT s.senior_manager_code) ,count(DISTINCT m.manager_code),
count(DISTINCT e.employee_code)
from company c
join lead_manager l on c.company_code = l.company_code
join Senior_Manager s on l.lead_manager_code = s.lead_manager_code
join manager m on s.Senior_Manager_code = m.senior_manager_code
join employee e on m.manager_code = e.manager_code
group by c.company_code , c.founder
order by c.company_code;
select e.company_code,c.founder,count(distinct e.lead_manager_code),count(distinct e.senior_manager_code),count(distinct e.manager_code),count(distinct e.employee_code) from Employee e join Company c on e.company_code= c.company_code group by e.company_code,c.founder order by e.company_code asc