【发布时间】:2012-01-31 03:26:24
【问题描述】:
我已经四处寻找答案,但找不到有效或合适的答案,而且我是 SQL 新手。
我有一个包含活动团队的表格,在其他列中我有team_member_1、team_member_2、team_member_3、team_member_4、team_member_5。每个都存储该团队成员的名称,每个团队有不同数量的成员(3 到 5 之间)。
我正在尝试通过计算该行/团队中有多少列/字段是NOT NULL来计算团队中的人数。
如果我的脑袋会变成这样:
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
这当然行不通。然后我想将这个数字乘以 20 英镑(因为活动成本是每人 20 英镑),给我每个团队欠的金额,这将在网站上得到回应。希望一切都有意义。
【问题讨论】:
-
您的
Teams表没有很好地规范化 - 如果这很重要,您需要将其重组为具有teamId、memberId和可能的memberPosition。这将使查询变得更加容易。 -
请出示您的表格描述\ERD。
-
(是的,我知道可能的重复问题问的是相反的问题,但本质上是一样的......)