我对编程非常陌生,可以在项目中使用手。我有一张大约有 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 回答