james mydetail_papara PaParazi21! http://ergast.com/api/f1/2018 http://codular.com/curl-with-php select *, (Point_1st + Point_2nd + Point_3rd) as total FROM ( select us.Round, us.UserName, b.1stPlace, b.2ndPlace, b.3rdPlace , (case when b.1stPlace = us.1stPlace then 25 else 0 END) as Point_1st , (case when b.2ndPlace = us.2ndPlace then 18 else 0 END) as Point_2nd , (case when b.3rdPlace = us.3rdPlace then 15 else 0 END) as Point_3rd from userselection as us left JOIN ( select * FROM ( SELECT r1.`Season`, r1.`Round`, r1.`DriverName` as 1stPlace, r2.`DriverName` as 2ndPlace, r3.`DriverName` as 3rdPlace FROM `results` as r1 left join `results` as r2 on r2.`Round` = r1.`Round` and r2.`Season` = r1.`Season` and r2.`Position` = 2 left join `results` as r3 on r3.`Round` = r1.`Round` and r3.`Season` = r1.`Season` and r3.`Position` = 3 WHERE r1.`Season` = 2017 and r1.`Round` = 1 and r1.`Position` = 1 ) as a ) as b on b.`Season` = us.Season and b.`Round` = us.Round group by us.UserName ) as c DECLARE @SQL varchar(4000); ​SET @SQL = NULL; SELECT GROUP_CONCAT(DISTINCT CONCAT( 'sum(case when Round = ', dn, ' then r.Points else 0 end) AS `', dn, '`' ) ) INTO @SQL FROM ( SELECT DISTINCT Round dn FROM results r ORDER BY r.Round ) d; SET @SQL = CONCAT('SELECT r.DriverName, ', @SQL, ' from results r where `Season` = 2017 group by r.`DriverName`;'); SELECT @SQL; PREPARE stmt FROM @SQL; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @SQL = NULL; SELECT GROUP_CONCAT(DISTINCT CONCAT( 'sum(case when ExptraPointsName = ''', dn, ''' then 1 else 0 end) AS `r', dn, '`' ) ) INTO @SQL FROM ( SELECT DISTINCT Name dn FROM extrapoints r where `Season` = 2018 and `Enabled` = 1 ORDER BY r.Name ) d; SET @SQL = CONCAT('SELECT r.UserName, ue.UserName, ', @SQL, ' from regform r left join userextrapoints ue on r.username = ue.UserName and ue.`Season` = 2018 group by r.`UserName`;'); PREPARE stmt FROM @SQL; select @SQL; DEALLOCATE PREPARE stmt; =========================== SET @SQL = NULL; SELECT GROUP_CONCAT(DISTINCT CONCAT( 'sum(case when round = ', dn, ' then d.PointsTotal else 0 end) AS `r', dn, '`' ) ) INTO @SQL FROM ( SELECT DISTINCT Round dn FROM results r where `Season` = 2018 ORDER BY r.Round ) d; SET @SQL = CONCAT('select NAME, username, ', @SQL, ' from ( select NAME, username, round, Points1, Points2, Points3, (Points1+ Points2+ Points3) as PointsTotal from ( select NAME, username, a.round, UserPlace1, UserPlace2, UserPlace3, Place1, Place2, Place3, case when UserPlace1 = Place1 then 25 else 0 end as Points1, case when UserPlace2 = Place2 then 18 else 0 end as Points2, case when UserPlace3 = Place3 then 15 else 0 end as Points3 from ( select r.NAME, r.username, round, 1stPlace as UserPlace1, 2ndPlace as UserPlace2, 3rdPlace as UserPlace3 from regform r left join userselection us on us.UserName = r.username where us.Season = 2018 group by r.NAME, r.username, round ) as a left join ( SELECT r1.`Season`, r1.`Round`, r1.`DriverName` as Place1, r2.`DriverName` as Place2, r3.`DriverName` as Place3 FROM `results` as r1 left join `results` as r2 on r2.`Round` = r1.`Round` and r2.`Season` = r1.`Season` and r2.`Position` = 2 left join `results` as r3 on r3.`Round` = r1.`Round` and r3.`Season` = r1.`Season` and r3.`Position` = 3 WHERE r1.`Season` = 2018 and r1.`Position` = 1 ) as B on b.Round = a.round order by a.round ) as c order by c.round ) as d group by d.NAME, d.username ORDER by sum(d.PointsTotal) DESC;'); PREPARE stmt FROM @SQL; EXECUTE stmt; DEALLOCATE PREPARE stmt;";