0
我一直在寻找这一切,但不幸的是,真正的答案不见了。我有一个返回三列,类似这种简单的例子SELECT语句:在MySQL中选择结果中的列组合/堆列
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语句的结果列。
任何建议都非常赞赏:)
一个简单的任务,如果你在应用程序级这样做 – e4c5
使用union有什么问题? – GurV
确实。不过,如果有一些“优雅”的解决方案,以避免在应用程序中转换结果,我主要感兴趣。我希望错过某些东西 - 但是如果没有真正的解决方案,应用程序级别将不得不做。 – user2581135