• + 6 comments

    using SQL:

    SELECT 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, c.Founder ORDER BY c.COMpany_Code;

    only has one join, Company to Employee. Make it simple coz Employee has All Codes from previous tables (Manager_Code, Senior_Manager_Code, Lead_Manager_Code, and even Company_Code). Is this proper schema for building database? (normally i would build Employee table only have one foreign key to Manager_Code)