2012-03-11 73 views
0

在我问我的问题之前,我会布置我想要做的事情。SQL - 返回具有特定值的列

我有这样的表如下面

Columns - PID, Choice1, Choice2,......Choice10 
Rows -  1,X, O, X, O......... 

香港专业教育学院一直在寻找在网络上相当长的一段时间,需要在正确的方向轻轻一推,如果我想要做的是可能的。虽然获得编码可以帮助我完成我正在做的小型项目,但这并不能帮助我进一步了解SQl。

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

我的直觉是说不,我可能不得不重构我的数据库来完成我正在做的事情。正如我在正确的方向上说明的一点,我可以阅读我想要做的事情,很好,为它编写代码..真的不能帮助我学习它以备将来参考。

回答

0

它听起来像你应该重构你的数据库,但你可以使用PIVOT和UNPIVOT转置和重构输出表。根据WHERE子句,列通常使用可变数量的行进行修复。使用PIVOT可以交换行的列,为您提供所需的内容。

+0

感谢您与PIVOT&UNPIVOT合作,将对这些主题做更多的研究,看看它是否会帮助我从长远来看或重组我的数据库将是我的最佳途径。 – Nghthawk 2012-03-12 00:07:28