Perhaps something like this (my identifiers do not exactly match yours)
SELECT h.schoolname as home
, a.schoolname as away
, sch.preview
, GROUP_CONCAT(DISTINCT
h.name, ', ', h.ht, ' ', h.pos, '; ', h.grade
SEPARATOR ' / '
) as home_team
, GROUP_CONCAT(DISTINCT
a.name, ', ', a.ht, ' ', a.pos, '; ', a.grade
SEPARATOR ' / '
) as away_team
FROM
schedule sch
JOIN (
SELECT s.schoolname
, concat(p.namefirst, ' ', p.namelast) as name
, concat(p.feet, '\'', p.inches, '"') as ht
, pos.description as pos
, g.description as grade
, s.school_id
FROM school s
JOIN player p ON s.school_id = p.schoolid
JOIN grade g USING (grade)
JOIN position pos USING (position)
) h ON sch.home_id = h.school_id
JOIN (
SELECT s.schoolname
, concat(p.namefirst, ' ', p.namelast) as name
, concat(p.feet, '\'', p.inches, '"') as ht
, pos.description as pos
, g.description as grade
, s.school_id
FROM school s
JOIN player p ON s.school_id = p.schoolid
JOIN grade g USING (grade)
JOIN position pos USING (position)
) a ON sch.away_id = a.school_id
PS, output
home: School 10
away: School 11
preview: Game on!
home_team: Andrew Baker, 6'2" Point Guard; JR / Bernard Cook, 6'5" Shooting Guard; JR / Charles Draper, 6'1" Small Forward; JR / David Potter, 6'4" Power Forward; JR / Eric Fletcher, 6'0" Centre; JR
away_team: Frank Gardener, 5'11" Point Guard; JR / Graham Hatter, 6'6" Shooting Guard; JR / Harry Joiner, 6'7" Small Forward; JR / Ian Miller, 6'4" Power Forward; JR / Julie Archer, 5'6" Centre; JR