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
|
3266 Discussions
|
Please Login in order to post a comment
isn't doing left join to the company and employee table the most optimal way to solve this problem? Since employee table contains all the relevant data needed.
SELECT CONCAT(c.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 Company c JOIN Employee e ON c.company_code = e.company_code GROUP BY c.company_code, founder
SELECT
FROM Company
LEFT JOIN Lead_Manager ON Company.company_code = Lead_Manager.company_code
LEFT JOIN Senior_Manager ON Lead_Manager.lead_manager_code = Senior_Manager.lead_manager_code
LEFT JOIN Manager ON Senior_Manager.senior_manager_code = Manager.senior_manager_code LEFT JOIN Employee ON Manager.manager_code = Employee.manager_code GROUP BY Company.company_code, founder ORDER BY Company.company_code ASC;
MYSQL code:
SELECT c.company_code , c.founder , count(distinct lead_manager_code) as lead_mgrs , count(distinct senior_manager_code) AS sr_mgrs , count(distinct manager_code) AS mgrs , count(distinct employee_code) AS employees from Company c left join Employee e on e.company_code = c.company_code group by c.company_code, founder ORDER BY c.company_code;
my submission for mysql