0

会社のすべての従業員と必要なトレーニング コースをリストした Excel シートがあります。リストは非常に大きく長いので、会社の Web サイトに組み込む必要があります。したがって、将来的に新しい従業員やコースを追加してテーブルを拡張できるようにするために、ストアド プロシージャでピボット テーブルを使用することを考えています。

現在の主な問題は、データベース内の Employee テーブルと Courses テーブルの 2 つのテーブルだけを使用する方法です。

Employee テーブルの構成: 従業員名、ID、組織、コース ID Courses テーブルの構成: コース名、コース ID

最初の列に従業員名をリストし、最初の行にコースをリストするピボット テーブルが必要です。次に、従業員がこのコースを受講するかどうかを示す各従業員の各コースの下に (はいまたはいいえ) の値が表示されます。最後に、テーブルの最後の行に yes の合計を表示したい

私はピボット テーブルの構文を知っており、それを理解し、この場合に機能するようにしようとしましたが、失敗しました。

私はこの貴重なリソースを使用しています: http://www.kodyaz.com/articles/t-sql-pivot-tables-in-sql-server-tutorial-with-examples.aspx

このケースとの使い分けは?ヒントをお願いします。クエリの構造を知りたいだけです

私の最初のクエリは次のとおりです。

選択する
  *
から
(
  選択する
    employee.Name、employee.id、employee.Organization、courses.id、courses.name
  従業員から、コース

) データ表
ピボット
(
  合計(ID)
  お名前
  の (
    [安全意識]、[一般安全オリエンテーション]、[SMSオリエンテーション]、[緊急対応]
  )
) ピボットテーブル
4

1 に答える 1

0

私は間違いなく DevXpress が wi​​nform と ASP.NET に持っているような PivotGrid コントロールを使用します。

このようなコントロールを使用すると、設計時にピボットを作成でき、エンド ユーザーが実行時にフィールドをドラッグ アンド ドロップして、設定を保存するよりもピボット ロジックを決定できるようにすることもできます。これをいくつかの高度なレポート ツールに使用し、ユーザーはそれを気に入りました。

于 2011-10-17T06:52:55.467 に答える