Re: Query - multiple joins won't return any records
This gives me exactly what I need. I tested it and compared it to the actual scores & relationships. It's right. It even handles situations where there was no division and/or no team and/or no organization.
All the averages are correct.
I added the table organizations to be able to make 3 tiers.
I've split the relations table up into multiple tables.
rel_divisions_rl(RelationID, DivisionID)
rel_teams_rl(RelationID, TeamID)
rel_organizations_rl(RelationID, OrgID)
If anybody knows how to make this faster without altering the results I sure would appreciate learning about it.
SELECT divisions.RecordID AS DivisionID, teams.RecordID AS TeamID, (organizations.RecordID) AS OrgID, MAX(divisions.Division), MAX(teams.Team), MAX(organizations.OrgName), AVG(scores.Score) AS Score
FROM scores INNER JOIN (((relations
LEFT JOIN (rel_divisions_rl LEFT JOIN divisions ON rel_divisions_rl.DivisionID = divisions.RecordID) ON rel_divisions_rl.RelationID = relations.RecordID)
LEFT JOIN (rel_teams_rl LEFT JOIN teams ON rel_teams_rl.TeamID = teams.RecordID) ON rel_teams_rl.RelationID = relations.RecordID)
LEFT JOIN (rel_organizations_rl LEFT JOIN organizations ON rel_organizations_rl.OrgID = organizations.RecordID) ON rel_organizations_rl.RelationID = relations.RecordID)
ON scores.RelationID = relations.RecordID
GROUP BY DivisionID, TeamID, OrgID
ORDER BY DivisionID, TeamID, OrgID
Subject
Written By
Posted
February 13, 2015 09:32PM
February 14, 2015 10:21AM
February 14, 2015 10:57AM
February 14, 2015 03:03PM
February 15, 2015 01:40AM
February 15, 2015 09:59AM
February 15, 2015 01:40PM
February 15, 2015 02:33PM
February 15, 2015 02:54PM
February 15, 2015 03:09PM
February 15, 2015 07:59PM
February 19, 2015 03:06PM
Re: Query - multiple joins won't return any records
February 19, 2015 04:17PM
February 21, 2015 07:01PM
February 14, 2015 11:39PM