在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) 我在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)