将单独的SQL查询结果合并为一个输出作为列

时间:2017-10-11 11:24:42

标签: sql sql-server

我试图获取特定CustomerID的最后10个,5个等OrderReference,并且可以通过多个查询执行此操作。 OrderReferences是唯一的,并且在创建时按顺序排列,以便获得最后一个实例,我已经使用了Top和Desc函数。

我如何组合这些查询以将输出生成为同一结果集中的单独列?

E.g。我的查询是:

Select top 10 OrderReference
from Orders
where CustomerID = '123456'
order by OrderReference desc

Select top 5 OrderReference
from Orders
where CustomerID = '123456'
order by OrderReference desc

我需要的输出是:

OrderReference | OrderReference 
---------------+----------------    
Ref1           | Ref1
Ref2           | Ref2
Ref3           | Ref3
Ref4           | Ref4 
Ref5           | Ref5 
Ref6           |   
Ref7           |   
Ref8           |    
Ref9           |    
Ref10          |   

由于

2 个答案:

答案 0 :(得分:0)

如果我理解正确,可以在CTE中实现:

        PopupMenu popup = new PopupMenu(mContext, view);

答案 1 :(得分:0)

UNION ALL这将解决您的问题

SELECT TOP 10 OrderReference FROM Orders WHERE CustomerID = '123456' ORDER BY OrderReference DESC 
UNION ALL 
SELECT TOP 5 OrderReference FROM Orders WHERE CustomerID = '123456' ORDER BY OrderReference DESC