gpt4 book ai didi

sql - 如何使用 sql case 语句重新创建此逻辑

转载 作者:行者123 更新时间:2023-12-04 21:56:44 28 4
gpt4 key购买 nike

SELECT

'IsActive' =

FROM Users u
INNER JOIN Permissions p ON u.Id = p.UserId

我需要向上面的查询添加一些逻辑以获得与我在执行以下操作(伪代码)时相同的结果。

这可以用 case 语句吗?

if( 
(p.Approved &&
(p.secondaryApproval == null || (p.SecondaryApproval != null && p.secondaryApproval)
)
)

上面的 if 语句中的逻辑确定 IsActive 应该为真。

我能否以某种方式使用 sql case 语句在我的查询中模仿这个逻辑?

最佳答案

像这样:

SELECT
CASE
WHEN p.Approved=1 AND (p.SecondaryApproval IS NULL OR p.SecondaryApproval=1) THEN 1
ELSE 0
END AS IsActive
FROM Users u
INNER JOIN Permissions p ON u.Id = p.UserId

请注意,在您的 SQL 和 C# 代码中,没有必要在 OR 的另一侧测试 p.SecondaryApproval 是否为空。

关于sql - 如何使用 sql case 语句重新创建此逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917230/

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