小编Sok*_*kea的帖子

动态数据透视中的行和列总数

在SQL Server 2008中,我有一个包含3列的表(tblStock):

  • PartCode(NVARCHAR(50))
  • StockQty(INT)
  • 位置(NVARCHAR(50))

下面的一些示例数据:

    PartCode    StockQty    Location
   .........   .........    .........
    A              10        WHs-A
    B              22        WHs-A
    A               1        WHs-B
    C              20        WHs-A
    D              39        WHs-F
    E               3        WHs-D
    F               7        WHs-A
    A               9        WHs-C
    D               2        WHs-A
    F              54        WHs-E
Run Code Online (Sandbox Code Playgroud)

如何创建程序以获得如下结果?

PartCode    WHs-A   WHs-B   WHs-C   WHs-D   WHs-E   WHs-F   Total
........    .....   .....   .....  ......   .....   .....   .....
A            10       1       9       0       0       0      20
B            22       0       0       0       0       0      22
C            20       0       0 …
Run Code Online (Sandbox Code Playgroud)

pivot cube dynamic-pivot sql-server-2008

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

为什么我的SQL Server 2008查询继续运行?

我在SQL Server 2008 R2中有一个查询,如下所示,当我执行此查询时,它会继续运行...如何调试以找出此代码出了什么问题?任何帮助想法.:)

DECLARE @RESULT TABLE (
     priority int,
     partcode nvarchar(50),
     orderqty int, 
     allocateqty int) 
DECLARE @ORDER TABLE(
     priority int,
     partcode nvarchar(50),
     orderqty int) 
DECLARE @STOCK TABLE(
     partcode nvarchar(50),
     stockqty int) 

INSERT INTO @ORDER (priority,partcode,orderqty) 
VALUES(1,'A',10),     
      (2,'A',40); 
INSERT INTO @STOCK(partcode,stockqty) 
VALUES('A',22);

IF (SELECT SUM(orderqty)FROM @ORDER)<(SELECT stockqty FROM @STOCK)
BEGIN
 INSERT INTO @RESULT(priority,partcode,orderqty,allocateqty)
 SELECT priority, partcode,orderqty,orderqty
 FROM @ORDER
END
ELSE
BEGIN
DECLARE @allocatedqty int = 0
DECLARE @allocateqty int = 1
DECLARE @runningstock int = (SELECT stockqty FROM @stock)
WHILE …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

标签 统计

cube ×1

dynamic-pivot ×1

pivot ×1

sql ×1

sql-server ×1

sql-server-2008 ×1