条件列选择

时间:2012-08-13 18:11:04

标签: sql sql-server

我是一个非常新的编程SQL,可以用一个项目的手。我有一张约20列的桌子。我需要评估15个左右的具有数字属性的列,并返回不具有零值的记录。前5列是我将始终需要的描述性文本字段。如果具有数字特性的列没有非零数量的记录,我不想显示该列。值不为零的所有列必须显示在相同的结果中。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分: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

如果您需要一些帮助来撰写该查询,请发布一些有关您的表格结构的详细信息,我将会看一下。