【发布时间】:2015-04-26 21:41:55
【问题描述】:
Mysql 中是否有一种简单的方法可以将多列结果集转换为单列结果集,其中单列中的每一行都包含来自多列结果集中每个单元格的单个值?
例如,假设我有一张这样的表:
id | fk1 | fk2 | fk3
1 2 3 4
5 6 7 8
理想情况下,我希望能够按照以下方式运行查询:
SELECT <some_function>(fk1, fk2, fk3) AS value FROM myTable;
...然后得到如下输出:
value
2
3
4
6
7
8
是否有一种直接的方法,或者是在代码中遍历多列结果集并将值提取为我想要的格式的唯一真正选择?
最终目标是能够在输入只能是单列值的上下文中将第一个查询用作子查询,例如:
SELECT * FROM myOtherTable WHERE id IN
(SELECT <some_function>(fk1, fk2, fk3) AS value FROM myTable);
因此,如果存在纯 SQL 解决方案,则更可取。
【问题讨论】:
标签: mysql sql merge multiple-columns