gpt4 book ai didi

sql-server - 如果十分之三的列在 sql server 中没有返回 null,则应在另一列中返回特定值

转载 作者:行者123 更新时间:2023-12-03 18:35:08 26 4
gpt4 key购买 nike

我有 10 列以 p1、p2、p3、...、p10 命名。如果任何两列有值而不是 NULL,我需要一个名为 Fee 的列,它应该返回 1200。如果三个或更多列具有值而不是 NULL,我需要名为 Fee 的列应该返回 1800。

p1      p2      p3      p4      p5      p6      p7      p8      p9      p10      Fee
NULL ENG NULL NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL POL NULL NULL NULL NULL NULL NULL
NULL ENG NULL ECO NULL NULL NULL NULL NULL NULL NULL
NULL ENG TEL ECO HIS POL NULL NULL NULL NULL NULL
NULL NULL NULL ECO NULL NULL NULL NULL NULL NULL NULL

应该是这样的..

p1      p2      p3      p4      p5      p6      p7      p8      p9      p10      Fee
NULL ENG NULL NULL NULL NULL NULL NULL NULL NULL 1200
NULL NULL NULL NULL POL NULL NULL NULL NULL NULL 1200
NULL ENG NULL ECO NULL NULL NULL NULL NULL NULL 1200
NULL ENG TEL ECO HIS POL NULL NULL NULL NULL 1800
NULL NULL NULL ECO NULL NULL NULL NULL NULL NULL 1200

最佳答案

示例

Update YourTable 
set Fee = case when len(concat(left(p1,1),left(p2,1),left(p3,1),left(p4,1),left(p5,1),left(p6,1),left(p7,1),left(p8,1),left(p9,1),left(p10,1))) <=3 then 1200 else 1800 end

更新表格

enter image description here

EDIT - If values are always 3 characters

Update YourTable 
set Fee = case when len(concat(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10))/3 <=3 then 1200 else 1800 end

关于sql-server - 如果十分之三的列在 sql server 中没有返回 null,则应在另一列中返回特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55362645/

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