小编Tay*_*min的帖子

SQL:将多列转换为行

我有以下格式的表格 在此处输入图片说明 我需要将其转换为这种格式

在此处输入图片说明

所以基本上我希望将多列转换为行。有人可以帮我弄这个吗?

谢谢

sql-server sql-server-2005 sql-server-2008

3
推荐指数
1
解决办法
9471
查看次数

SQL Server:多列的唯一值的总和

使用SQL Server,我有一个表,如下面的示例表所示.我需要为"BookOrder,StationaryOrder和Printing Order"列提供所有唯一值的总和.

样本表:

KeyIDCustomer   BooksOrder  StationaryOrder PrintingOrder
29945843         1070756    1891514            198876
29945843         1070756    1893827            198876
29945843         1070758    1891514            198876
29945843         1070758    1893827            198876
Run Code Online (Sandbox Code Playgroud)

我正在使用以下编码来实现这一目标.

Select DISTINCT KeyIDCustomerID,
Sum(Case when BooksOrder is not null then 1 else 0 End) TotalBookOrders,  
Sum(Case when StationaryOrder is not null then 1 else 0 End) TotalStationaryOrder,
Sum(Case when PrintingOrder is not null then 1 else 0 End)TotalPrintingOrder
Run Code Online (Sandbox Code Playgroud)

通过这种编码,我得到的结果如下

  KeyIDCustomerID   TotalBookOrders TotalStationaryOrder    TotalPrintingOrder
   29945843                    4                       4                    4
Run Code Online (Sandbox Code Playgroud)

我希望结果是这样的

  KeyIDCustomerID   TotalBookOrders TotalStationaryOrder    TotalPrintingOrder
   29945843                    2                       2 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012

1
推荐指数
1
解决办法
1125
查看次数

SQL Server:比较两列

我在SQL表中有两列如下.我需要比较这两列不匹配,但由于额外的小数,我得到错误的结果.当我尝试转换第一列时,它会给出错误

"将数据类型varchar转换为数字时出错."

如何解决这个问题?第一列的长度各不相同.

Column01(varchar)   Column02(Decimal)
0.01                0.010000  
0.255               0.255000
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

1
推荐指数
1
解决办法
81
查看次数

SQL Server:如何通过删除零来返回舍入值

我有第01列中的值,我希望将其转换为第02列中的值,从结尾删除所有零.有没有办法在SQL服务器中执行此操作?

Column 01    Column 02 
20100000   201
29050000   2905
Run Code Online (Sandbox Code Playgroud)

谢谢你的期待.

sql sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012

0
推荐指数
1
解决办法
49
查看次数