Sql server 2005 SQL-返回具有特定值的列

Sql server 2005 SQL-返回具有特定值的列,sql-server-2005,Sql Server 2005,在我问问题之前,我会安排我要做的事情 我有如下这张桌子 Columns - PID, Choice1, Choice2,......Choice10 Rows - 1,X, O, X, O......... 我在网上搜索了很长一段时间,如果我想做的是可能的话,我需要朝着正确的方向努力。虽然获得编码将帮助我完成我正在做的小项目,但它并不能真正帮助我了解更多关于SQl的知识 是否可以在表上进行搜索并仅返回值为X的列,其中PID=某个值 我的直觉是说不,我可能不得不重组我的数据库来完成我正

在我问问题之前,我会安排我要做的事情

我有如下这张桌子

Columns -  PID, Choice1, Choice2,......Choice10
Rows -     1,X, O, X, O.........
我在网上搜索了很长一段时间,如果我想做的是可能的话,我需要朝着正确的方向努力。虽然获得编码将帮助我完成我正在做的小项目,但它并不能真正帮助我了解更多关于SQl的知识

是否可以在表上进行搜索并仅返回值为X的列,其中PID=某个值


我的直觉是说不,我可能不得不重组我的数据库来完成我正在做的事情。正如我所说的,在正确的方向上,我可以阅读我正在尝试做的事情,这是非常棒的,得到了它的编码。。真的没有帮助我学习它以备将来参考。

听起来确实应该重新构造数据库,但您可以使用PIVOT和UNPIVOT转换和重新构造输出表。根据WHERE子句的不同,列通常固定为可变行数。使用PIVOT可以将列交换为行,为您提供所需信息。

感谢PIVOT和UNPIVOT的帮助,我们将对这些主题进行更多的研究,看看它是否能帮助我实现长期目标,或者重组数据库将是我的最佳途径。