首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列中的非空字段数

列中的非空字段数
EN

Stack Overflow用户
提问于 2011-12-31 17:09:12
回答 5查看 14.6K关注 0票数 3

可能重复: 计算SQL中一行中的空列

我一直在寻找这个问题的答案,但我既找不到有用的答案,也找不到合适的答案,而且我是SQL的新手。

我有一个包含事件团队的表,除其他列外,还有team_member_1team_member_2team_member_3team_member_4team_member_5。每个团队都存储该团队成员的名称,每个团队都有不同数量的成员(在3到5之间)。

我试图通过计算该行/团队中有多少列/字段是NOT NULL来计算团队中的人数。

如果我的脑袋会像:

代码语言:javascript
复制
Select Count NOT NULL team_member_1, team_member_2, team_member_3,  
                      team_member_4, team_member_5 
from Teams 
where team_id = 5

当然这不管用。然后,我想把这个数字乘以be 20(因为事件成本是每人20 be),给我每支球队欠我多少钱,这将在网站上得到回应。希望一切都有意义。

EN

Stack Overflow用户

发布于 2011-12-31 17:23:42

正如其他人所指出的,这是一个糟糕的设计,你应该尝试正常化。然而,我会尝试这样的方法:

代码语言:javascript
复制
Select Count(*) from teams where
 (team_id = 5) and
 (team_member_1 is not null or
  team_member_2 is not null or
  team_member_3 is not null or
  team_member_4 is not null or
  team_member_5 is not null)

您至少应该通过创建Team表和成员表并将成员引用到Team,从而将其规范化为第一个普通形式。

票数 -1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8689407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档