[英]How do I UNION over the result of a subquery without a temp table?
我有一個復雜的查詢,該查詢導致我想將多個列合並為一個列。
天真的UNION構造使我可以將FROM從每個查詢中組合起來。 我希望FROM是復雜查詢的結果。
我想說:
SELECT row1 AS result FROM (complex query)
UNION
SELECT row2 AS result FROM (same complex query)
UNION
SELECT row3 AS result FROM (same complex query)
...
如何在MySQL 5.6.10(我意識到CTE很好地解決了我的問題)中做到了這一點,並且沒有臨時表(我的DBA偏執狂)。
您可以使用如下所示的cte
塊:
with cte as
(
complex query comes here
)
select row1 as result from cte
union
select row2 as result from cte
...
使用模板是另一種替代解決方案。
有關更多的cte
示例: http : cte
編輯:由於OP使用的是較舊的版本,這是一個替代解決方案:
在主要的復雜查詢中使用如下所示的#temp表:
Select ...
into #temp
from ...
...
然后,使用#temp表進行聯合:
select row1 as result from #temp
union
select row2 as result from #temp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.