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;