首页 > 解决方案 > 用一个唯一值更新查询,另一个用不同的值更新查询

问题描述

想要查询可能是针对以下条件的单个查询

样品表

  1. 对于所有 4 个 R2IGTNo 列,要更新的第 3 列和第 4 列的值相同
  2. 有时混合最多只有 3 个,第 4 行可能不会出现
  3. 在 C# 应用程序中,用户将更新第一行(混合 1),其他值必须自动更新,因为值相同。

我需要一个查询,请专家帮忙...谢谢

标签: c#sqlasp.netsql-serversql-server-ce

解决方案


用户选择第 1 行,这意味着您的 C# 可以知道“Lot21009BB1C3”(放置文本而不是图像会让我复制它,顺便说一句),但是您写的就像 c# 应用程序不知道任何其他行一样。

这意味着您可以运行查询:

UPDATE t SET HtrOnBy = @HtrOnBy, ChtrOnRemark = @ChtrOnRemark
WHERE R2IGTNo LIKE @R2IGTNo

您的 c# 应输入以下值:

@HtrOnBy = "Whatever it knows the first row HtrOnBy is"
@ChtrOnRemark = "Whatever it knows the first row ChtrOnRemark is"
@R2IGTNo = firstRowR2IGTNo.Remove(9) + "%"

我们取 R2IGTNo 的前 9 个字符并添加一个百分比。SQL 将更新所有以这些开头的行,不管是 3 还是 4 等

如果字符的数量不同,那么您将不得不更加聪明地了解如何处理子字符串,例如寻找数字之后的第一个字符(例如正则表达式)


推荐阅读