多个案例 - 语法

  • 本文关键字:语法 案例 sql
  • 更新时间 :
  • 英文 :


免责声明:这可能是一个微不足道的错误。


要解决此链接中的查询,请执行以下操作:

你能用一个名为 sound 的列返回结果吗 人类的"说话",狗的"吠叫",猫的"喵">

我需要写一个具有多种可能性的CASE

以下语法有什么问题?

SELECT *
CASE 
WHEN species='human' THEN 'talk' 
WHEN species='dog' THEN 'bark'
WHEN species='cat' THEN 'meow'
END AS sound
FROM friends_of_pickles
;

我仔细检查了阅读这个问题的语法栏,对我来说似乎是正确的?

错误在哪里?

提前非常感谢

好吧,您在*之后缺少一个逗号:

SELECT *,
(CASE WHEN species = 'human' THEN 'talk' 
WHEN species = 'dog' THEN 'bark'
WHEN species = 'cat' THEN 'meow'
END) AS sound
FROM friends_of_pickles;

但是,某些数据库不允许与其他列*。 因此,需要合格的*

SELECT fop.*,
(CASE WHEN species = 'human' THEN 'talk' 
WHEN species = 'dog' THEN 'bark'
WHEN species = 'cat' THEN 'meow'
END) AS sound
FROM friends_of_pickles fop;

老实说,我一般推荐一个合格的列名(和*(。

最新更新