0

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