【发布时间】:2012-01-01 08:25:52
【问题描述】:
我在没有关系的 SQL Server 中编写更新时遇到问题。我浏览了整个论坛,但我很难找到答案。
如果客户金额匹配,我需要更新 OCR。问题是这不是唯一的密钥。因此,如果来自客户、金额组合的记录不止一条,我需要在查找表中获取最旧的匹配项并从中更新 OCR。然后我需要取第二旧的并用它的 OCR 更新第二行。
我尝试在下表中对其进行可视化。
欢迎所有建议!
要更新的表 - 更新前
Customer OCR Amount
740000010417 220.000
740000010417 220.000
740000010421 300.000
740000010421 250.000
查找表
Customer OCR Amount Date ID
740000010417 222357110626 220.000 2011-11-11 15:48:48.510 100642
740000010417 222350553822 220.000 2011-10-18 10:10:26.210 18680
740000010417 222350464525 220.000 2011-10-18 10:10:26.210 18681
740000010417 222357110725 220.000 2011-11-11 15:48:48.510 102547
740000010421 222357127726 250.000 2011-11-11 15:48:48.510 102548
740000010421 222357127725 220.000 2011-10-19 10:10:26.210 102549
740000010421 222357130555 250.000 2011-10-19 10:10:26.210 102550
更新后的表格
Customer OCR Amount
740000010417 222350553822 220.000
740000010417 222350464525 220.000
740000010421 300.000
740000010421 222357130555 250.000
【问题讨论】:
-
不确定您是否可以在不使用某种形式的光标的情况下做到这一点,但我很高兴看到没有光标的解决方案!
标签: sql sql-server sql-update auto-increment