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