有没有办法将2个查询订购到单个结果集中?
更具体地说,如果我有2个查询:
select 'line',product, numeric_value from numbertable order by product;
select 'Total',product, sum(numeric_value) from numbertable group by product;
有没有办法合并两个查询,以便结果集如下所示:
Type Product numeric_value
line item1 23
line item1 57
line item1 23
Total item1 103
line item5 20
line item5 50
line item5 60
Total item5 130
...
基本上,我希望列出产品的所有商品记录,然后显示它们的总和,然后列出下一个产品的所有商品记录等。
有办法做到这一点,还是一项不可能完成的任务? 谢谢:))
答案 0 :(得分:2)
在许多数据库中,您可以使用rollup
执行此操作。但是,既然你已经走到了这一步:
select *
from ((select 'line' as which, product, numeric_value from numbertable
) union all
(select 'Total', product, sum(numeric_value) from numbertable group by product
)
) t
order by Product, which
order by Product, which
将所有产品线汇集在一起。 “总计”是最后一次由于订购。