I’m trying to make a query that selects the first row that is completely full and has the inputs value some where in the row otherwise it doesn’t pull anything. Here is what I’ve made up so far:
CASE WHEN `name_1` != '' and `name_2` != '' and `name_3` != '' and `name_4` = 'Jimmy' THEN (SELECT`name_1`,`name_2`,`name_3`,`name_4` FROM `names`) end
CASE WHEN `name_1` != '' and `name_2` != '' and `name_4` != '' and `name_3` = 'Jimmy' THEN (SELECT`name_1`,`name_2`,`name_3`,`name_4` FROM `names`) end
CASE WHEN `name_1` != '' and `name_4` != '' and `name_3` != '' and `name_2` = 'Jimmy' THEN (SELECT`name_1`,`name_2`,`name_3`,`name_4` FROM `names`) end
CASE WHEN `name_4` != '' and `name_2` != '' and `name_3` != '' and `name_1` = 'Jimmy' THEN (SELECT`name_1`,`name_2`,`name_3`,`name_4` FROM `names`) end
That returns the error:
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 ‘CASE WHENname_1!= ” andname_2!= ” andname_3!= ”
andname_4= ” at line 1
So obviously it’s written wrong, so what exactly is wrong with it? and am I doing this the right way?
Your statements must begin with some sort of DML word (
SELECT,UPDATE,CALL,DO…). That being said, your table is not normalized, as you should not have four columns for names but rather 2 columns perhaps (name, name_value).The correct syntax for using
CASEwould look like:From reading your post, it appears you are trying to arrive at the first non-empty field. You can try something like this: