У меня есть запрос MySQL, где я хотел бы, чтобы он возвратил псевдо столбец, который базируется прочь:
Надо надеяться, это имеет смысл. Мой SQL не достаточно хорош для обертывания моей головы вокруг этого.
Попробуйте использовать выражение case :
SELECT CASE WHEN columnZ <> 0 THEN 4
WHEN columnY <> 0 THEN 3
WHEN columnX <> 0 THEN 2
WHEN columnW <> 0 THEN 1
ELSE 0
END AS your_alias_name
FROM ...
Вы можете использовать CASE ... WHEN, чтобы сделать это.
См.
mysql> SELECT CASE 1 WHEN 1 THEN 'one'
-> WHEN 2 THEN 'two' ELSE 'more' END;
-> 'one'
mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;
-> 'true'
mysql> SELECT CASE BINARY 'B'
-> WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
-> NULL