ORACLE SQL计数和加入问题

时间:2013-05-06 14:18:28

标签: join count

好的,所以我需要计算“resource_ID”在我的表中发生的次数少于3次,然后从另一个表链接资源描述。

到目前为止我已经

Select Resource_hire.Resource_ID, count(resource_ID) as Times_Used  

from RESOURCE_HIRE

Group by resource_ID

HAVING COUNT(*)< 3;

但是当我添加

SELECT RESOURCE_INVENTORY.DESCRIPTION, RESOURCE_HIRE.RESOURCE_ID

FROM RESOURCE_HIRE, RESOURCE_INVENTORY

WHERE (RESOURCE_HIRE.RESOURCE_ID = RESOURCE_INVENTORY.R_ID)

INNER JOIN (Select Resource_hire.Resource_ID, count(resource_ID)
from RESOURCE_HIRE

Group by resource_ID

HAVING COUNT(*)< 3;)

我的SQL命令未正确结束

谢谢

1 个答案:

答案 0 :(得分:0)

您正试图以错误的方式使用联接。

试试这个:

  SELECT ri.DESCRIPTION, rh.RESOURCE_ID
    FROM RESOURCE_HIRE rh
         INNER JOIN (Select Resource_hire.Resource_ID, count(resource_ID)
                       from RESOURCE_HIRE
                      Group by resource_ID
                     having COUNT(*)< 3;) rh
         ON (rh.RESOURCE_ID = ri.R_ID)

您无法使用JOIN关键字并同时加入WHERE子句。

有关Oracle Docs的加入的详情。