Kryptix Posted December 20, 2009 Share Posted December 20, 2009 SELECT `username`, `kills`, `deaths`, CASE WHEN `deaths` OR `kills` = '0' THEN `kills` AS 'kd' ELSE `kills` / `deaths` AS 'kd' END FROM `rscd_players` ORDER BY `kd` DESC #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS 'kd' ELSE `kills` / `deaths` AS 'kd' END FROM `rscd_players` ORDER BY `kd` DE' at line 1 Could someone help me with that please? Basically, if `deaths` or `kills = '0' then `kills` should be `kd`, else divide `kills` by `deaths` and set that as `kd`. Where am I going wrong? Link to comment https://forums.phpfreaks.com/topic/185751-case/ Share on other sites More sharing options...
Zane Posted December 20, 2009 Share Posted December 20, 2009 not tested. SELECT `kills`, `deaths`, CAST(CASE WHEN `deaths` = 0 or `kills` = 0 THEN `kills` ELSE (`kills`/`deaths`) END) as kd FROM `rscd_players` ORDER BY kd DESC Link to comment https://forums.phpfreaks.com/topic/185751-case/#findComment-980842 Share on other sites More sharing options...
Kryptix Posted December 20, 2009 Author Share Posted December 20, 2009 not tested. SELECT `kills`, `deaths`, CAST(CASE WHEN `deaths` = 0 or `kills` = 0 THEN `kills` ELSE (`kills`/`deaths`) END) as kd FROM `rscd_players` ORDER BY kd DESC Cheers for the attempt but it errored as well: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') as kd FROM `rscd_players` ORDER BY kd DESC LIMIT 0, 30' at line 2 Link to comment https://forums.phpfreaks.com/topic/185751-case/#findComment-980908 Share on other sites More sharing options...
Mchl Posted December 20, 2009 Share Posted December 20, 2009 Just use IF() Link to comment https://forums.phpfreaks.com/topic/185751-case/#findComment-980914 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.