gpt4 book ai didi

SQL 选择值 = 'X' 或最小值

转载 作者:行者123 更新时间:2023-12-04 20:48:19 25 4
gpt4 key购买 nike

我有一个大型客户数据库,其中客户表包含人员及其与组织的关系。人们可能属于多个组织(这允许在组织内进行划分)。拥有多个组织的人必须有一个默认组织,这通常由 isDefault = T 确定,但是前端应用程序也可以通过选择确定默认应用程序 where isDefault = F MIN(RowID)

所以在下表中我们知道 PersonId 3 有一个默认的 OrgID 11 (IsDefault = T )但是,我需要弄清楚用于查找 PersonID 12 的默认值的查询。即

Select orgId as default from myTable
where personID = 12
and isDefault = 'T'

如果返回 0 行,则执行如下查询:

Select orgId as default from myTable
where personID = 12
and
RowId in (select Min(rowId)
from myTable
where PersonId = 12)


RowID | PersonID | OrgId | isDefault
1 | 12 | 14 | F
2 | 12 | 17 | F
3 | 3 | 11 | T
4 | 3 | 14 | F

最佳答案

我想你可以通过两次排序来得到你想要的,首先是 IsDefault 是 T 还是 F,然后是 RowId,然后取最上面的结果:

SELECT TOP 1 OrgId as [Default]
FROM MyTable
WHERE PersonId = 12
ORDER BY
CASE WHEN IsDefault = 'T' THEN 0 ELSE 1 END,
RowId

关于SQL 选择值 = 'X' 或最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11480216/

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