0

2 つのクエリを 1 つの結果セットに並べ替える方法はありますか?

より具体的には、2 つのクエリがある場合:

select 'line',product, numeric_value from numbertable order by product;

select 'Total',product, sum(numeric_value) from numbertable group by product;

結果セットが次のようになるように、2 つのクエリを組み合わせる方法はありますか。

    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
    ...

基本的に、製品のすべてのアイテム レコードを一覧表示し、それらの合計を表示してから、次の製品のすべてのアイテム レコードを一覧表示するなどを検討しています。

これを行う方法はありますか、それとも不可能な作業ですか? ありがとう :)

4

1 に答える 1

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、すべての製品ラインを 1 つにまとめます。注文の都合上、「合計」が最後です。

于 2013-03-20T20:21:23.443 に答える