Jump to content

CASE


Kryptix

Recommended Posts

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

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.