带有不同where子句的结果的SQL查询

时间:2014-01-16 04:59:38

标签: sql sql-server subquery

我试着寻找这个问题的答案......我可能没有正确写出我的搜索字样,因为我不是SQL中的超级大师。

情况: Microsoft SQL Server 2008 R2数据库,我现在感兴趣的两个表,称为OpenOrders和InvoicedOrders。

我希望将月份,季度和年份的OpenOrders拉出,然后按月,季度和年度拉出InvoicedOrders,按销售区域(同一表中的销售区域)进行分组。

我无法发布图片,但如果您认为我们有5个销售区,然后是上面提到的6个日期范围,则查询结果中会有7行和5列。如果正确显示,请在下面的文字中显示。

1  10000  40000   12500  53200   12500  61180
2  23000  53000   25500  70490   25500  81063.5
3  45000  75000   47500  99750   47500  114712.5
4  43000  73000   45500  97090   45500  111653.5
5  76000  106000  78500  140980  78500  162127

我想要做的是一个理想情况下是一个查询或几个查询而不是6个查询的解决方案。我将在SSRS报告中使用此查询,并且嵌套查询未成功,因为这些查询返回了“返回多个结果”错误。

我现在正在考虑使用临时表来选择第一行,插入临时表,选择第二行,插入临时表,然后从临时表和删除临时表中选择所有结果。

希望我提供了足够的信息!

临时表是理想的解决方案,还是有更好的解决方案?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您尝试获取一个结果集,请考虑创建一个视图并使用UNION将这些不同查询的结果加入其中。然后,您可以运行一个select来从视图中获取结果,如表格。