我有一个MySQL查询,它返回来自不同表的列,以及我通过case语句亲自定制的列。
SELECT table.column,
CASE (...) as new_column
问题是,我想在这个查询中连接table.column
和new_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;