You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL创建产品分类列问题求助:排查CASE语句执行异常

修正后的SQL语句及问题解析

你的SQL语句存在语法和逻辑错误,以下是具体修正方案:

问题点梳理

  • CASE表达式位置错误:CASE子句属于SELECT字段列表的一部分,不能放在FROM子句之后。
  • 条件逻辑漏洞:最后一个WHEN的OR条件写法错误,每个分支都需要单独写name LIKE,否则'%vest%'这类字符串会被判定为布尔值真,导致所有后续条件失效。
  • 符号格式错误:apparel结尾的单引号是中文全角符号,必须替换为英文半角单引号;别名的中文双引号也建议换成英文符号以适配SQL语法规范。

修正后的SQL代码

SELECT 
  price, 
  productid, 
  Products.Name,
  CASE 
    WHEN Name LIKE '%frame%' THEN 'frame'
    WHEN Name LIKE '%mountain-%' THEN 'mountain'
    WHEN Name LIKE '%road-%' THEN 'road'
    WHEN Name LIKE '%touring-%' THEN 'touring'
    WHEN name LIKE '%socks%' 
      OR name LIKE '%vest%' 
      OR name LIKE '%jersey%' 
      OR name LIKE '%gloves%' 
      OR name LIKE '%shorts%' 
      OR name LIKE '%tights%' THEN 'apparel'
    ELSE 'equipment'
  END AS "Category"
FROM Products;

额外适配说明

如果使用MySQL数据库,别名可以改用反引号包裹(如END AS Category``);如果是PostgreSQL或SQL Server,使用英文双引号或直接写无空格的别名即可。

内容的提问来源于stack exchange,提问作者Sarah Brown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 05:25:04