如何使用分组

时间:2012-08-04 16:22:21

标签: sql oracle

我有一个与oracle有问题的小组,我正在尝试将所有服务费超过2500英镑的病房组合在一起。我有两张桌子Ward和Bed,wardno在两张桌子上。这就是我所拥有的以及我不断得到的错误:

SELECT HospitalCode, Ward.WardNo, Bed.WardNo, BedNo, TotalServiceCosts,  
FROM WARD, BED  
GROUP BY TotalServiceCosts >= 2500  

ORA-00936: missing expression

有人可以用缺失的表达来帮助我吗?

2 个答案:

答案 0 :(得分:1)

也许你正在寻找这个?

SELECT HospitalCode, Ward.WardNo, Bed.WardNo, BedNo, SUM(TotalServiceCosts) AS TotalServiceCosts
FROM WARD, BED  
GROUP BY HospitalCode, Ward.WardNo, Bed.WardNo, BedNo
HAVING SUM(TotalServiceCosts) >= 2500  

注意:我认为您错过了WARD和BED的加入条件。

答案 1 :(得分:1)

错误!删除TotalServiceCosts之后的逗号!

您需要将查询更改为:

SELECT HospitalCode, Ward.WardNo, Bed.WardNo, BedNo, SUM(TotalServiceCosts)
FROM WARD, BED
GROUP BY HospitalCode, Ward.WardNo, Bed.WardNo, BedNo
HAVING SUM(TotalServiceCosts) >= 2500

删除TotalServiceCosts后的逗号!您不能在此处使用WHERE子句。在HAVING的情况下,WHEREGROUP BY的替代。