So I'm trying to group the employees and have which families they are qualified under. The query the data is coming from each employee is in there multiple times for each family they are qualified for. I want to bring that data together and only have one row per employee. The SQL I have written is what I've done so far, but it does not do as i wish. If any one could help me fix it I would appreciate it. I'm some what new to SQL, so there may be a better way of doing it let me know what you guys think.
SELECT Employees.[SS #], Employees.Status, Employees.[Senior Date], Employees.[Last Name]+", "+Employees.[First Name]+" "+Employees.[Middle Name] AS Employee, IIf([Employee Qualifications].[Family Number]=1,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 1], IIf([Employee Qualifications].[Family Number]=3,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 3], IIf([Employee Qualifications].[Family Number]=4,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 4], IIf([Employee Qualifications].[Family Number]=5,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 5], IIf([Employee Qualifications].[Family Number]=7,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 7], IIf([Employee Qualifications].[Family Number]=8,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 8], IIf([Employee Qualifications].[Family Number]=9,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 9], IIf([Employee Qualifications].[Family Number]=11,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 11], IIf([Employee Qualifications].[Family Number]=13,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 13], IIf([Employee Qualifications].[Family Number]=14,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 14]
FROM (([Employee Qualifications] INNER JOIN Employees ON [Employee Qualifications].[SS #] = Employees.[SS #]) INNER JOIN Families ON [Employee Qualifications].[Family Number] = Families.[Family Number]) INNER JOIN QryEmployeeQualConvertGrade ON (Families.[Family Number] = QryEmployeeQualConvertGrade.[Family Number]) AND (Employees.[SS #] = QryEmployeeQualConvertGrade.[SS #])
GROUP BY Employees.[SS #], Employees.Status, Employees.[Senior Date], Employees.[Last Name]+", "+Employees.[First Name]+" "+Employees.[Middle Name], IIf([Employee Qualifications].[Family Number]=1,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=3,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=4,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=5,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=7,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=8,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=9,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=11,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=13,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=14,QryEmployeeQualConvertGrade.Grade,Null);
SELECT Employees.[SS #], Employees.Status, Employees.[Senior Date], Employees.[Last Name]+", "+Employees.[First Name]+" "+Employees.[Middle Name] AS Employee, IIf([Employee Qualifications].[Family Number]=1,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 1], IIf([Employee Qualifications].[Family Number]=3,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 3], IIf([Employee Qualifications].[Family Number]=4,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 4], IIf([Employee Qualifications].[Family Number]=5,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 5], IIf([Employee Qualifications].[Family Number]=7,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 7], IIf([Employee Qualifications].[Family Number]=8,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 8], IIf([Employee Qualifications].[Family Number]=9,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 9], IIf([Employee Qualifications].[Family Number]=11,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 11], IIf([Employee Qualifications].[Family Number]=13,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 13], IIf([Employee Qualifications].[Family Number]=14,QryEmployeeQualConvertGrade.Grade,Null) AS [Family 14]
FROM (([Employee Qualifications] INNER JOIN Employees ON [Employee Qualifications].[SS #] = Employees.[SS #]) INNER JOIN Families ON [Employee Qualifications].[Family Number] = Families.[Family Number]) INNER JOIN QryEmployeeQualConvertGrade ON (Families.[Family Number] = QryEmployeeQualConvertGrade.[Family Number]) AND (Employees.[SS #] = QryEmployeeQualConvertGrade.[SS #])
GROUP BY Employees.[SS #], Employees.Status, Employees.[Senior Date], Employees.[Last Name]+", "+Employees.[First Name]+" "+Employees.[Middle Name], IIf([Employee Qualifications].[Family Number]=1,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=3,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=4,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=5,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=7,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=8,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=9,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=11,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=13,QryEmployeeQualConvertGrade.Grade,Null), IIf([Employee Qualifications].[Family Number]=14,QryEmployeeQualConvertGrade.Grade,Null);