0

私はプログラミングの非常に新しいSQLであり、プロジェクトで手を使うことができます。約20列のテーブルがあります。数値プロパティを持つ15ほどの列を評価し、ゼロの値を持たないレコードを返す必要があります。最初の5列は、私が常に必要とする説明テキストフィールドです。数値プロパティを持つ列にゼロ以外の量のレコードがない場合、その列を表示したくありません。ゼロ以外の値を持つすべての列は、同じ結果に表示される必要があります。よろしくお願いします。

4

1 に答える 1

0

最善の策は、UNPIVOT クエリを使用して、これらの数値フィールドのそれぞれを行として返すことです。したがって、結果セットは次のようになります。

Desc1 Desc2 Desc3 Desc4 Desc5 NumFieldName NumFieldValue
blah1 blah1 blah1 blah1 blah1 Stat1        13
blah1 blah1 blah1 blah1 blah1 Stat2        22
blah1 blah1 blah1 blah1 blah1 Stat3        6
blah2 blah2 blah2 blah2 blah2 Stat1        3
blah2 blah2 blah2 blah2 blah2 Stat2        42
blah2 blah2 blah2 blah2 blah2 Stat3        12

次に、その結​​果をフィルター処理して、NumFieldValue が 0 の行を除外できます。UNPIVOT クエリの実行に関するドキュメントは次のとおりです: http://archive.msdn.microsoft.com/SQLExamples/Wiki/View.aspx?title=UNPIVOTData

そのクエリの作成に助けが必要な場合は、テーブル構造に関する詳細を投稿してください。私が調べます。

于 2012-08-13T23:22:09.187 に答える