这几条sql查询语句有错误吗,如果有,错在哪?
来源:百度知道 编辑:UC知道 时间:2024/05/27 00:58:15
SELECT ProductID AS PROID, SUM(Quantity) AS Quantity_SUM
FROM OrderDetails
GROUP BY PROID
HAVING Quantity_SUM >= 100
2.
SELECT ProductID, UnitPrice, SUM(Quantity)
FROM OrderDetails
GROUP BY ProductID
谢谢大家 帮帮我
1. 原因,是由于在HAVING 中使用了列的别名的问题,使用原来的列名以及函数就没问题了,
SELECT ProductID AS PROID, SUM(Quantity) AS Quantity_SUM
FROM OrderDetails
GROUP BY PROID
HAVING SUM(Quantity) >= 100
2. 是由于在分组的时候,需要对每分组的字段使用聚合函数,
不能在同一个查询中,有的列包含集合函数或分组,而别的列又不使用集合函数或分组,原则是要使用就都使用,要不使用就都不使用,因此有下面2中改法:
SELECT ProductID, UnitPrice, SUM(Quantity)
FROM OrderDetails
GROUP BY ProductID , UnitPrice
或者用
SELECT ProductID, SUM(Quantity)
FROM OrderDetails
GROUP BY ProductID
呵呵,希望能有帮助,^_^
SELECT ProductID AS PROID, SUM(Quantity) AS Quantity_SUM
FROM OrderDetails
GROUP BY PROID
HAVING SUM(Quantity) >= 100
SELECT ProductID, UnitPrice, SUM(Quantity)
FROM OrderDetails
GROUP BY ProductID , UnitPrice
好了
SELECT ProductID AS PROID, SUM(Quantity) AS Quantity_SUM
FROM OrderDetails
GROUP BY PROID
HAVING SUM(Quantity) >= 100
HAVING只可对现有的实际资料栏进行作用,不可为占定的资料栏