0
  • 数据库:网球

  • 表:球员

  • 一些列:playerno、first name、last name、leagueno。

  • 任务:如果联赛编号为NULL,则赋值为1。

  • 问题:我们可以在没有合并功能的情况下做到这一点吗?还是没有任何其他功能?

  • 我的代码是错误的。我仍然看到 null 而不是 1。此外,由于这种情况,还有不必要的列。

代码:

use tennis;
select playerno, name, initials,leagueno,
case 
when leagueno = null then 1 
end
from players
where tennis.players.town = 'Stratford'
order by leagueno desc;

请帮助我正确地做到这一点。我有使用合并的答案。但我想尝试另一种方法。

4

1 回答 1

1

我想你想要的是这样的:

use tennis;

select playerno, name, initials,
case 
when leagueno is null then 1 -- note: is null instead of = null
else leagueno
end as leagueno -- This names the result column "leagueno", which may be useful
                -- depending on how you read the result
from players
where tennis.players.town = 'Stratford'
order by leagueno desc;

这基本上是最后一列leagueno,除了如果它是NULL,你会得到1

于 2012-07-05T21:39:08.097 回答