从MySQL中的Select Result中组合/堆叠列

时间:2017-01-03 12:48:05

标签: mysql select union

我一直都在寻找这个,但遗憾的是真正的答案让我望而却步。我有一个SELECT语句返回三列,类似于这个基本示例:

SELECT alpha, beta, gamma FROM table WHERE (...)

WHERE子句实际上非常重要,因此将它分成三个单独的SELECT可能是一个坏主意。现在,这将返回一个看起来像这样的表:

alpha | beta | gamma
----------------------
apple | (empty) | orange
banana | lemon | apple

然而,我想要实现的不是上述结果,而是以下内容:

result
-------
apple
orange
banana
lemon

也就是说,前一个SELECT语句的结果列被“堆叠”或“组合”到一个列中。订单并不重要。省略空白/缺失/空字段并过滤重复(苹果),因此列表包含唯一值。

从技术上讲,UNION的工作方式可行,但UNION结合了多个SELECT语句。我想组合来自单个SELECT语句的结果列。

非常感谢任何建议:)

1 个答案:

答案 0 :(得分:0)

您正在尝试减少使用多个The website declined to show this webpage. More information This error (HTTP 403 Forbidden) means that this program was able to connect to the website, but it does not have permission to view the webpage. 语句中的每一个运行的复杂where语句的开销。解决方案是在简单语句上执行union并在结果上运行union。在您的示例中:

where