Sql 选择最佳价格的替代材料并更新标志

Sql 选择最佳价格的替代材料并更新标志,sql,sql-update,procedure,Sql,Sql Update,Procedure,我有一张有下列钥匙的桌子 2号发票。材料3。替代材料 非关键字段是价格。我需要找到最好的替代材料,并更新同一表格中的标志 例如: 我正在尝试编写一个SQL过程,该过程将遍历这些记录集,并更新最低价材料的Best_Alt标志,在本例中为第三条记录 到目前为止,我选择了temp表中的所有记录,并通过发票号和价格升幅将其缩短。如何在SQL中找到相同的内容并更新基表中的标志 提前谢谢 我使用rank()来获得按发票编号划分的最佳材料。这是一个糟糕的设计想法。每次插入或更新数据时,您都必须不断检查标志

我有一张有下列钥匙的桌子

  • 2号发票。材料3。替代材料 非关键字段是价格。我需要找到最好的替代材料,并更新同一表格中的标志 例如:

    我正在尝试编写一个SQL过程,该过程将遍历这些记录集,并更新最低价材料的Best_Alt标志,在本例中为第三条记录

    到目前为止,我选择了temp表中的所有记录,并通过发票号和价格升幅将其缩短。如何在SQL中找到相同的内容并更新基表中的标志


    提前谢谢

    我使用rank()来获得按发票编号划分的最佳材料。

    这是一个糟糕的设计想法。每次插入或更新数据时,您都必须不断检查标志是否应该更改。我会避开最佳可选列,总是在查询时计算它。您可以编写一个UDF,以使将来的查询更易于编写。嗨,Alleman,感谢您的快速响应。让我再补充一些细节。一个发票编号的数据将只插入一次。同样,我将插入一个发票号码,包括实际销售的材料以及所有可能的替代品。在插入过程中或以后的过程中,我希望更新“最佳备选方案”标志,因为在查询此数据集时,我希望使用“最佳备选方案”标志作为筛选器。一般来说,我在这个表中有超过十亿条记录,这个标志将帮助我将记录数减少到数百万条,并保持数据量的可管理性