Вам нужно присоединиться к командам дважды, один раз за домашнюю команду, один раз за гостями.
Подумайте об этом так: для каждого внешнего ключа, который вы имеете к той же таблице, вам нужно еще одно соединение.
Хотя я не уверен, почему у вас есть несколько соединений для fixturef_testing, одно для пользователя и одно для завершения ...
Кроме того, я не фанат ставить все в спинуклещи.Я бы предпочел использовать это только тогда, когда у меня есть зарезервированное ключевое слово, чтобы сделать его более читабельным.
SELECT cast(f.`datetime` as date) AS `date`
, cast(f.`datetime` as time) AS `time`
, HT.Name hometeam
, AT.Name awayteam
, u.name AS referee
, c.name AS competition
FROM fixturef_testing.fixtures f
--Are the next 2 joins really needed?--
LEFT JOIN fixturef_testing.users u
on u.id = f.refereeid
LEFT JOIN fixturef_testing.competition c
on c.id = f.competitionid
--Not sure what the above joins are for...
--Get the table Teams record for the home team
LEFT JOIN Teams HT
on HT.ID = f.hometeamID
--Get the table Teams record for the away team
LEFT JOIN Teams AT
on AT.ID = f.awayTeamID
WHERE f.active = 1