gpt4 book ai didi

c# - 遍历记录并根据条件更新数据库

转载 作者:太空宇宙 更新时间:2023-11-03 18:57:45 26 4
gpt4 key购买 nike

我有一张表Person:

enter image description here

其中ID为主键,Male为男性总数,Female为女性总数, Person_ID 列固定为 4,因此男性 + 女性的最大数量为 4(我们不必验证这一点)。

我需要在最后一列 Is_Valid 中插入/更新 YesNo 的值,以确定记录是否有效。

逻辑是这样的:比如男女总数是3,那么人的ID就得有3个,或者男女总数是2,就得有2个人的ID数据。

所以记录ID 3和4是无效的,因为记录3 - 有2个人(1男1女)但是只有1个人ID,记录4有1个人(1女性)但是没有人完全没有 ID 数据。

我需要在 C# 代码中以编程方式执行此操作,但首先我想知道可以解决此问题的查询?

我一直在想的逻辑是:

  • 遍历每一行
  • 得到男性+女性的总和= a
  • 以某种方式计算非空个人 ID 单元格 = b
  • 如果 a == b 则插入 YES 否则插入 NO

我不知道如何编写查询(或存储过程),我想它会有点复杂。任何帮助将不胜感激。

最佳答案

UPDATE TABLE
SET Is_Valid = CASE WHEN (
Case when Person1_ID != '' or Person1_ID IS NOT NULL Then 1 else 0 end +
Case when Person2_ID != '' or Person2_ID IS NOT NULL Then 1 else 0 end +
Case when Person3_ID != '' or Person3_ID IS NOT NULL Then 1 else 0 end +
Case when Person4_ID != '' or Person4_ID IS NOT NULL Then 1 else 0 end ) != Male + Female THEN 'NO' ELSE 'YES' END

关于c# - 遍历记录并根据条件更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41401935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com