SELECT TeamID
, `Name`
, P
, W
, D
, L
, (SELECT COUNT(TeamID)
FROM goals INNER JOIN fixtures ON (goals.FixtureID = fixtures.FixtureID)
WHERE goals.TeamID = teams.TeamID AND goals.event = 'goal') AS 'gf'
, (SELECT COUNT(TeamID) as 'ga'
FROM goals INNER JOIN fixtures ON (goals.FixtureID = fixtures.FixtureID)
WHERE goals.TeamID != teams.TeamID AND (teams.TeamID = fixtures.AwayTeam || teams.TeamID = fixtures.HomeTeam) AND goals.event = 'goal') AS 'ga'
, (SELECT teams.F+gf) AS 'GFTODAY'
, (SELECT teams.A+ga) AS 'GATODAY'
, CONVERT((SELECT GFTODAY-GATODAY),SIGNED) AS 'GDTODAY'
, (SELECT CASE WHEN
(SELECT COUNT(fixtures.FixtureID)
FROM fixtures
WHERE fixtures.Date = curdate() AND (teams.TeamID = fixtures.HomeTeam || teams.TeamID = fixtures.AwayTeam))>0
THEN (SELECT (SELECT CASE WHEN gf > ga THEN 3 ELSE(SELECT CASE WHEN gf < ga THEN 0 ELSE 1 END)END)+teams.PTS)
ELSE teams.PTS END) AS 'ptslive'
FROM teams
WHERE LeagueID = 1 ORDER BY ptslive DESC,GDTODAY DESC;