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

SQL查询报错:关键字'ORDER'附近存在语法错误,求解决方案

SQL语法错误排查与修复

错误原因

你写的SQL中,FROM子句后的子查询没有指定别名,这是SQL的语法要求——所有作为数据源的子查询必须有一个别名,数据库才能识别这个临时结果集,这直接导致了ORDER附近的语法错误。

修正后的SQL代码

给子查询添加别名(比如temp)即可解决问题:

SELECT TOP 20 * FROM 
    (
      SELECT DISTINCT
         p.ItemGroupName, p.Varenummer, s.EAN, s.inventoryQuantity 
      FROM 
        ShopInventory s, ProductData p
     WHERE s.EAN = p.EAN
    ) AS temp
ORDER BY cast(inventoryQuantity AS int) DESC

优化建议

建议使用标准的JOIN语法替代旧的逗号分隔表的写法,提升代码可读性和维护性:

SELECT TOP 20 * FROM 
    (
      SELECT DISTINCT
         p.ItemGroupName, p.Varenummer, s.EAN, s.inventoryQuantity 
      FROM 
        ShopInventory s
        INNER JOIN ProductData p ON s.EAN = p.EAN
    ) AS temp
ORDER BY cast(inventoryQuantity AS int) DESC

内容的提问来源于stack exchange,提问作者Andreas Ravnholt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:20:30