SQL Server - 基于主键的变化自动增量

时间:2014-09-09 11:46:08

标签: sql sql-server sql-server-2012

我的情况是:

在工程环境中说,工作的报价为5,000英镑。然而,在此之后进行变更需要500英镑的额外费用。

现在在SQL Server中我有一个表,让我们称之为Costing。这与Customer表(1到多个)相关联1客户可能有很多成本...

现在我的问题是这个......是否有可能在CostingTable中自动增加一个变异数字,记住CostingID已经自动递增或者我可以采取不同的方法吗?

示例数据:

enter image description here 香港专业教育学院已经完成了所有的成本计算等,所以这没有问题,它只是可以根据CustomerID自动添加到VariationNumber ...谢谢你们

1 个答案:

答案 0 :(得分:1)

如果您只想显示它,请使用:

SELECT *,
       ROW_NUMBER() OVER(PARTITION BY CustomerId ORDER BY CostingId) AS Variation
FROM   Costing

但是如果你想存储它:

;WITH MyCTE AS
(
    SELECT *,
           ROW_NUMBER() OVER(PARTITION BY CustomerId ORDER BY CostingId) AS NewVariation
    FROM   Costing
)
UPDATE MyCTE 
SET    Variation = NewVariation