gpt4 book ai didi

Mysql根据其他2条记录的值更改单元格值

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:01 25 4
gpt4 key购买 nike

我有一个看起来像这样的数据库

表名:人

id  name    country father_id     mother_id   HIV
52 bob NULL 68 98 NULL
68 joe Maui 72 14 CLEAR
53 mia NULL 68 98 NULL
51 robbie NULL 68 13 NULL
98 Joyce NULL 13 16 CLEAR

我需要查询我的数据库,如果 mother_id 和 father_id 都已清除 HIV,我会在其中更新所有 person.id 和 HIV“清除”请注意,我需要能够选择标记 child 的单词,因此这与 mother_id 和 father_id 的值不同。

我需要这样的数据库:

    id  name    country father_id     mother_id   HIV
52 bob NULL 68 98 CLEAR
68 joe Maui 72 14 CLEAR
53 mia NULL 68 98 CLEAR
51 robbie NULL 68 13 NULL
98 Joyce NULL 13 16 CLEAR

如果这太复杂了,我会坚持使用与父级相同的值:P

如果 mother_id 和 father_id 不明确,我希望 person.id HIV 细胞保持 NULL

请保持简单,因为我是菜鸟:P

最佳答案

这是更新语句:

update person p join
person father
on father.id = p.father_id and father.HIV = 'Clear' join
person mother
on mother.id = p.mother_id and mother.HIV = 'Clear'
set p.HIV = 'ParentsClear';

令我印象深刻的是,您可能只想在字段为空时执行 update。如果是这样,请将 where p.HIV is null 添加到查询中。

编辑:

我建议您修改表格,为 ParentHIV 添加一个字段。我不知道你在做什么,但有可能混淆哪些数据是个人数据,哪些数据来自 parent 。

这是一个如何使用它的例子:

update person p join
person father
on father.id = p.father_id and father.HIV = 'Clear' join
person mother
on mother.id = p.mother_id and mother.HIV = 'Clear'
set p.ParentHIV = (case when father.HIV = 'Clear' and mother.HIV = 'Clear'
then 'BothClear'
when father.HIV = 'Clear' or mother.HIV = 'Clear'
then 'OneClear'
else 'NeitherClear'
end);

关于Mysql根据其他2条记录的值更改单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418758/

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