我正在寻找一种循环遍历表的列以生成输出的方法,如下所述。
表格看起来像这样:
ID Name OPTION1 OPTION2 OPTION3 OPTION4 OPTION5 1 MyName1 1 0 1 1 0 2 MyName2 0 0 1 0 0
输出如下所示:
MyName1 -> OPTION1, OPTION3, OPTION4 MyName2 -> OPTION3
任何执行此操作的指示将不胜感激。否则,我想我将不得不使用游标或临时表......数据库引擎是MSSQL。我在数据库级别进行格式化的原因是将其输出输入到有限的可编程环境中。
更新:输出可以是任何形式,一个字符串或几行字符串。
更新:是否可以通过使用 @str = @str + ... 构建字符串来实现这一目标?
更新:我更改了输出...这应该更容易。
谢谢!
最佳答案
好吧,如果列数已知,您可以这样做:
SELECT
MyName + " ->"
+ case OPTION1 when 1 then ' OPTION1' else '' end
+ case OPTION2 when 1 then ' OPTION2' else '' end
+ ...
FROM
Table
如果在创建查询时列未知 - 我可能仍然会使用一些动态创建的 SQL。优点是代码可能会做你想要的事情,而且非常简单。
关于sql - 循环遍历列 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/697367/