合并MySQL中创建的列


Combining created columns in MySQL

我有一个MySQL查询,它返回来自不同表的列,以及我通过case语句亲自定制的列。

SELECT table.column, 
CASE (...) as new_column 

问题是,我想在这个查询中连接table.columnnew_column,尽管我不能独立调用new_column,因为我在查询中创建了它。

由于数据库权限的原因,我实际上无法在数据库上创建表。

关于我应该如何处理这件事的想法?

您可以将整个选择封装到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;