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 ...