0

我有一个关于 oracle 的问题分组,我试图将所有服务费超过 2500 英镑的病房组合在一起。我有两张桌子 Ward 和 Bed,两张桌子上都有 wardno。这是我所拥有的以及我不断收到的错误:

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

ORA-00936: missing expression

有人可以帮我解决缺少的表情吗?

4

2 回答 2

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

于 2012-08-04T16:26:39.903 回答
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 的连接条件。

于 2012-08-04T16:24:58.690 回答