如何使用MySQL SELECT创建多值虚拟列?

如何使用MySQL SELECT创建多值虚拟列?,mysql,sql,select,virtual-column,Mysql,Sql,Select,Virtual Column,我可以将虚拟列添加为 SELECT '1' as id | id | ------- | 1 | 但我想添加多个值,例如: SELECT ('1','2','3') as id | id | ------- | 1 | | 2 | | 3 | 但是这不起作用就像Marc B在评论中说的那样,你不能让一个查询将一行分割成多行,但是你可以有多个查询,每个查询通过union将它们链接在一起,生成一个值 SELECT 1 id UNION SELECT 2 UNION S

我可以将虚拟列添加为

SELECT '1' as id

| id |
-------
|  1 | 
但我想添加多个值,例如:

SELECT ('1','2','3') as id

| id |
-------
|  1 | 
|  2 | 
|  3 | 

但是这不起作用

就像Marc B在评论中说的那样,你不能让一个查询将一行分割成多行,但是你可以有多个查询,每个查询通过union将它们链接在一起,生成一个值

SELECT 1 id 
UNION 
SELECT 2 
UNION 
SELECT 3

由于答案是在几条评论中提供的,我将把它发布为一个社区wiki。

SELECT 1 id UNION SELECT 2 UNION SELECT 3您不能让一个查询将一行拆分为多行,但您可以有多个查询,每个查询都会生成一个值,方法是将它们与
UNION
链接在一起。