質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Q&A

1回答

1592閲覧

SQL SERVER 2000 で GROUPING を使用したい

Shimo

総合スコア12

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

0グッド

0クリップ

投稿2015/12/19 02:58

編集2015/12/19 03:02

SQL Server 2000 の環境で実施したいと考えています。

まだまだ初心者で、細かい関数など分からない中以下の関数が気になり調べています。

GROUPING ROLLUP CUBE

しかし、使い方がイマイチ分からず、うまく表示させることが出来ていません。(だいたいGROUPINGで調べるとSQL SERVER 2008ばかりがHIT)


select case when grouping(RALL15) = '1' then '合計' ELSE NULL END as 'ALL',
RALL15, SUM(RALL18) as RALL18
from test with(nolock)
group by RALL15 with ROLLUP
order by 'ALL', RALL15

ALL RALL15 RALL18


NULL 278441 1.000
NULL 278458 2.000
NULL 278459 2.000
NULL 278462 2.000
合計 NULL 7.000

(5 件処理されました)


といった結果になります。

伺いたい情報として、
https://technet.microsoft.com/ja-jp/library/aa213225(v=sql.80).aspx
にもあるような


RALL15 RALL18


278441 1.000
278458 2.000
278459 2.000
278462 2.000
合計 7.000


といった感じに表示する手段はありませんでしょうか?
過去のシステム管理から引き継ぎなのですが、全てVBで1行ずつ集計
してあり、非常にレスポンスが悪い環境である為、改善の為情報を
頂けませんでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

投稿2015/12/19 04:19

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shimo

2015/12/19 04:31

お返事ありがとうございます。 こちらも検索した際にヒットしたので試してみたのですが、SQL SERVER 2000 で、 GROUPING SETS は使用可能なのでしょうか? またROLLUP(Store, SaleYear, SaleMonth) と言った型で組んだ場合、 'ROLLUP' は 関数名 として認識されません。 といったERRORが出てしまい、利用が出来ません。 使用例など教えて頂く事は可能でしょうか?
Orlofsky

2015/12/20 01:23

見落としていましたが、SQL Server 2000 でしたね。ググっても確認できませんでしたが、当時のバージョンではまだ使えない機能だったかもしれません。 Oracle11.2.0 での使用例ですと、 SELECT NVL(OB.OBJECT_TYPE, 'SUM OBJECT_TYPE') AS OBJECT_TYPE , COUNT(*) AS COUNTS FROM USER_OBJECTS OB GROUP BY CUBE(OB.OBJECT_TYPE) ORDER BY OB.OBJECT_TYPE ; OBJECT_TYPE COUNTS --------------------- -------- FUNCTION 6 INDEX 20 LOB 1 MATERIALIZED VIEW 2 PACKAGE 1 PACKAGE BODY 1 PROCEDURE 3 SEQUENCE 1 SYNONYM 3 TABLE 26 TRIGGER 2 TYPE 5 TYPE BODY 2 VIEW 1 SUM OBJECT_TYPE 74 15行が選択されました。 が参考になるかも? Oracleでも1セット30万円だったかの紙のマニュアルしかなかったのを思い出しました。笑い SQLに関する質問は目的のSQLを再現できる程度のcreate table, insert も提示できるとコメントがつき易いです。
Shimo

2015/12/21 10:41

またまたお返事ありがとうございます。 当方ではSQLサーバー以外にも、非常に古いシステムで稼働しており、枯れた情報(出尽くしている)と思いつつ、なかなか今回のように見つかっていないのが実情です。 >SQLを再現できる程度のcreate table, insert も提示できるとコメントがつき易いです。 仰る通りです。テーブルを直接編集する権限が与えられていない為、既存の環境で試験を行っております。VB6とASP(classic)で表示する環境を構築していく必要があります。 >当時のバージョンではまだ使えない機能だったかもしれません。 提示しているテックネットには、SQL SERVER 2000 での説明になっているので、何かしら方法はあるのかと睨んでいました。なかなか難しそうですね。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問