1

次の形式のテーブルがあります。

日付 / カテゴリ (文字列) / カウント (整数)
--------------------------------------------
7/15 あ3
7/15B7
7/15 C2
7/16 あ9
7/16 B1
7/16 C2

基本的に、毎日、各カテゴリにはカウントが関連付けられています。

問題は、これらのカテゴリが最終的にどのようなものになるか、必ずしもわかっていないことです。A、B、C だとわかっていても、来週は D、E、F だとします。

そして、これは私が構築したいビューです:

日付 / A / B / C / .. (見つかったカテゴリの数)
-------------------------------------------------- -------
7/15 3 5 2 3 4
7/16 9 5 9 6 4
...
..
.

私は通常、十分な SQL を知っていますが、これは私の頭を悩ませています。探している答えが見つからないため、グーグルで検索するときに正しい語彙を使用しているとは思いません。

4

1 に答える 1

0

答えは簡単です。あなたが望むことをするためのビューを構築することはできません。ビューには、列が事前定義されています。

次のいずれかを実行できます。

  1. 毎週ビューを作成するストアドプロシージャを作成します。このストアドプロシージャは、データを分析し、列を決定してから、動的SQLを使用してビューを変更します。
  2. 必要なものの定義を変更し、値をコンマ(または他の文字)で区切って単一の列に入れます。
  3. 受け入れ可能な列のリストを事前定義し、ビューを作成し(たとえば、ピボットを使用して)、新しい値が発生したときに定期的に変更します。
  4. アプリケーション層でピボットを実行します。これはExcelでは特に簡単です。

(1)と(3)に関する1つの大きな警告。ビューを「ビューから選択*」として使用するものがある場合は、それらのクエリ/ストアドプロシージャ/ユーザー定義関数などを確認する必要があります。再コンパイルされます。そうしないと、列のリストが間違ってしまいます(これはSQL Serverにのみ適用される場合があります)。

于 2012-08-12T14:43:34.553 に答える