Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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 SQL Server:基于其他列数据将数据从一列分离为两列_Sql Server - Fatal编程技术网

Sql server SQL Server:基于其他列数据将数据从一列分离为两列

Sql server SQL Server:基于其他列数据将数据从一列分离为两列,sql-server,Sql Server,我有SQL Server 2012,希望创建一个执行以下操作的视图: 我的桌子有: MovType | Qty In | 200 Out | 10 现在我想创建一个视图,基本上遍历整个表,这取决于MovType是In还是Out分配给一个特殊的动态列 所以基本上我需要: InQty | OutQty 200 | 0 0 | 10 我知道这可以用CASE来完成,但不确定代码。第二,速度是一个重要的因素,所以有没有什么特别的方法来尽可能减少开销呢 提前感谢大家 是的,

我有SQL Server 2012,希望创建一个执行以下操作的视图:

我的桌子有:

MovType | Qty
In      | 200
Out     | 10
现在我想创建一个视图,基本上遍历整个表,这取决于
MovType
In
还是
Out
分配给一个特殊的动态列

所以基本上我需要:

InQty | OutQty
200   | 0
  0   | 10
我知道这可以用
CASE
来完成,但不确定代码。第二,速度是一个重要的因素,所以有没有什么特别的方法来尽可能减少开销呢


提前感谢大家

是的,您可以使用
案例
,它应该是有效的。case语句不需要像JOIN一样从磁盘读取,它是一个非常简单的命令,不太可能导致性能问题

SELECT CASE WHEN MovType='In' THEN Qty Else 0 End AS InQty,
       CASE WHEN MovType='Out' THEN Qty Else 0 End AS OutQty
FROM dbo.Table1