MYSQL CASE THEN statement with multiple values

No, it is just a single value. Additionally, it is contradictory to use "multiple columns" and name those multiple columns as column_1, right? :)

You can use another column to store the other id with (a similar case) and use nulls to represent the else values, just like you're doing now.

Example:

CASE 
    WHEN wall.type="bk" 
    THEN books.id1
END as column_1,
CASE 
    WHEN wall.type="bk" 
    THEN books.id2
END as column_2

Check the official documentation for more information.


No. CASE statement can only return a single value, so the only way to achieve what you want is duplicate the case ...

The database server should be optimized and perform only one time the check on the same condition ...

Tags:

Mysql