Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:将临时表中的所有列行设置为0或1_Sql_Sql Server - Fatal编程技术网

SQL Server:将临时表中的所有列行设置为0或1

SQL Server:将临时表中的所有列行设置为0或1,sql,sql-server,Sql,Sql Server,我有两个表表1和表2 两个表都包含250列,每个列都有一个ID代码,该代码允许两个表进行多对多的连接。除ID代码外,每个列行都有一个范围为0-500的值 我需要做一些进一步的分析,并希望能够生成一个临时表或查询输出,其中,对于每一列的每一行,值设置为0或1,其中1是按id排序的列的总和code>=1 我可以在使用case时这样做,但是对于500列,我想知道是否有更聪明的方法来做到这一点。如果有帮助,每个表中的所有列都以字“\u bin”结尾。您尚未指定SQL server版本,从SQL 2012

我有两个表
表1
表2

两个表都包含250列,每个列都有一个
ID
代码,该代码允许两个表进行多对多的连接。除ID代码外,每个列行都有一个范围为0-500的值

我需要做一些进一步的分析,并希望能够生成一个临时表或查询输出,其中,对于每一列的每一行,值设置为0或1,其中1是按id排序的列的总和
code>=1


我可以在使用case时这样做,但是对于500列,我想知道是否有更聪明的方法来做到这一点。如果有帮助,每个表中的所有列都以
字“\u bin”

结尾。您尚未指定SQL server版本,从SQL 2012开始,您也可以使用IIF或为此选择逻辑函数,而不是“case-when”,但仍然需要对所有列执行此操作

详情如下:

如果值从不为负,则可以使用
sign()
而不是
case
表达式。可以通过对db元数据的查询来构建所需的查询(250个类似的表达式)。如果您创建一个小样本(比如3或4列)并选择@johncapelletti所说的结果,如果你能给我们看一些样品数据,那会有帮助的。