Sql 多案例-语法
免责声明:这可能是个小错误Sql 多案例-语法,sql,Sql,免责声明:这可能是个小错误 要在以下位置解决查询: 您能否使用名为sound的列返回结果 “说话”代表人类,“吠叫”代表狗,“喵喵”代表猫 我需要编写一个具有多种可能性的案例 以下语法有什么问题 SELECT * CASE WHEN species='human' THEN 'talk' WHEN species='dog' THEN 'bark' WHEN species='cat' THEN 'meow' END AS sound FROM friends_
要在以下位置解决查询: 您能否使用名为sound的列返回结果 “说话”代表人类,“吠叫”代表狗,“喵喵”代表猫 我需要编写一个具有多种可能性的
案例
以下语法有什么问题
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;
老实说,我推荐一个限定的列名(和*
s)。和case子句可以缩短为case-species,当“人”时,当“狗”时,当“狗”时,当“狗”时,当“猫”时,当“喵”结束时,作为声音
。