SQL SELECT语句中的Calcuted字段

SQL SELECT语句中的Calcuted字段,sql,sql-server,sql-server-2000,Sql,Sql Server,Sql Server 2000,我有一个查询,它给出了4列 EXPR1、EXPR2、MOVE5和数量 所有6360的数量值相同 我希望能够调整查询,以便为每行生成一个新的计算字段,即qty+EXPR2,但每行使用的数量将是先前计算的结果,但从初始数量开始 e.g. row 1 (1,400,6360,6360) row2 (-10,401,6360,6350) row3 (-1,402,6360,6349) etc SELECT movement_reference AS EXPR1, movement

我有一个查询,它给出了4列

EXPR1、EXPR2、MOVE5和数量

所有6360的数量值相同

我希望能够调整查询,以便为每行生成一个新的计算字段,即qty+EXPR2,但每行使用的数量将是先前计算的结果,但从初始数量开始

e.g. 
row 1 (1,400,6360,6360)
row2 (-10,401,6360,6350)
row3 (-1,402,6360,6349)  etc


SELECT
    movement_reference AS EXPR1,
    movement_quantity AS EXPR2,
    CAST (CAST(movement_date AS INT) AS VARCHAR(5)) + RIGHT('00000' + CAST(CAST(sequence_no AS INT) AS VARCHAR(6)), 6) AS MOVE5,
    (SELECT physical_qty FROM  stocktable WHERE (product = 'B') AND (warehouse = 'FH')) AS qty
FROM
    stockhistory
WHERE
    (warehouse = 'FH') 
AND
    (product = 'B')
ORDER BY
    dated DESC

使用SQL Server 2000。

@Tanner:SQL Server 2005中引入了公共表表达式。艾玛:子查询可能会有帮助-out@Ragul当然,错过了2000年的部分还不够清楚,请给我们一个清晰的输出和例子。