我有一个MySQL查询,它返回来自不同表的列,以及我通过case语句个人定制的列。
SELECT table.column,
CASE (...) as new_column
问题是,我希望在此查询中连接table.column
和new_column
,但我在查询中创建它之后无法独立调用new_column
。
由于数据库权限,我实际上无法在数据库上创建表。
关于如何处理这个问题的想法?
答案 0 :(得分:2)
您可以将整个选择包装到CONCAT()
函数中:
SELECT CONCAT(table.column, CASE(...)) AS new_column
FROM table;
接近它的另一种方式,不是我推荐它,但它可能更具可读性,是使用当前查询作为子查询并从父查询连接:
SELECT CONCAT(column, new_column) AS new_column
FROM(
SELECT table.column, CASE(...) AS new_column
FROM table
) tmp;