客户编号100019采购记录查询SQL报错问题求助
SQL语句错误修正及最终代码
错误点整理
- 聚合函数使用逻辑错误:需求是输出每一条采购记录的单品金额,不需要使用
sum()、count()聚合函数,原写法会导致所有记录被合并计算,且非聚合字段未搭配GROUP BY子句不符合SQL语法规范。 - 括号不匹配:
concat()函数内部的嵌套结构缺少右括号闭合,触发语法报错。 - 别名引号不统一:字段别名混用单引号、双引号,部分数据库对单引号作为别名的兼容性较差,容易引发识别错误。
修正后可运行代码
SELECT s.orderno "Order Nbr", b.partno "Part Nbr", b.descript "Part Description", i.qty "Quantity", b.saleprice "Sale Price", CONCAT('$', FORMAT(b.saleprice * i.qty, 2)) "Total Amount per Item" FROM sales s INNER JOIN items i ON s.orderno = i.orderno INNER JOIN inventory b ON b.partno = i.partno WHERE s.custno = '100019' ORDER BY 6;
内容的提问来源于stack exchange,提问作者Christina V
相关产品推荐
相关产品推荐

