Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我一直得到相同的错误代码ORA-00933_Sql_Oracle - Fatal编程技术网

Sql 我一直得到相同的错误代码ORA-00933

Sql 我一直得到相同的错误代码ORA-00933,sql,oracle,Sql,Oracle,我不太确定这件事会发展到什么地步。我将得到代码“00907缺少右括号”,因此,我添加括号,然后得到“00933错误” 你应该试试这个: 将表的别名或名称放在要使用该列的表的列名之前 这里我假设您想要RENTER\u ID来自RENTER表 SELECT RENTER.RENTER_ID, RENTER_LNAME, ROUND((COUNT(DEP_ID)+1)/APART_BED) AS "PEOPLE / BEDROOM" FROM RENTER JOIN DEPENDENT

我不太确定这件事会发展到什么地步。我将得到代码“00907缺少右括号”,因此,我添加括号,然后得到“00933错误”


你应该试试这个:

将表的别名或名称放在要使用该列的表的列名之前

这里我假设您想要
RENTER\u ID
来自
RENTER

SELECT RENTER.RENTER_ID,
  RENTER_LNAME,
  ROUND((COUNT(DEP_ID)+1)/APART_BED) AS "PEOPLE / BEDROOM"
FROM RENTER
    JOIN DEPENDENT
        ON RENTER.RENTER_ID = DEPENDENT.RENTER_ID
    JOIN LEASE
        ON LEASE.RENTER_ID = RENTER.RENTER_ID
    JOIN APARTMENT
        ON APARTMENT.APART_NUM = LEASE.APART_NUM
    WHERE RENTER.RENTER_ID        = LEASE_END
      AND RENTER.RENTER_ID          = '30-JUN-18'
    ORDER BY RENTER_ID;

WHERE子句中存在语法错误,无法写入:

 WHERE RENTER_ID = ((LEASE_END) = '30-JUN-18')
您必须编写两个单独的条件,例如:

WHERE RENTER.RENTER_ID = LEASE.RENTER_ID
AND LEASE.LEASE_END = '30-JUN-18'
查询示例:

SELECT RENTER.RENTER_ID,
       RENTER_LNAME,
       Round((Count(DEP_ID) + 1) / APART_BED) AS "PEOPLE / BEDROOM"
  FROM RENTER
  JOIN DEPENDENT
    ON RENTER.RENTER_ID = DEPENDENT.RENTER_ID
  JOIN LEASE
    ON LEASE.RENTER_ID = RENTER.RENTER_ID
  JOIN APARTMENT
    ON APARTMENT.APART_NUM = LEASE.APART_NUM
 WHERE RENTER.RENTER_ID = DEPENDENT.RENTER_ID
 AND LEASE.LEASE_END = '30-JUN-18'
 ORDER BY RENTER_ID;

提示:
分组依据
。这只是你问题的一部分。在另一个问题中,您可能还需要提供示例数据、期望的结果和您想要做的事情的描述。编写一个查询以显示承租人ID、姓氏以及公寓每间卧室的人数。每间卧室的人数计算为承租人加上与承租人相关的受抚养人数量,除以公寓中的卧室数量。记住,不是所有的租客都有家属,但是租客仍然被视为一个人。将结果仅限于2018年6月30日到期的公寓租赁。按每间卧室的人数降序排列结果,然后按租户ID升序排列结果。当我将WHERE行更改为上面的一行时,我将得到错误00918,光标位于WHERE行中第二个租户ID的前面。您需要去掉
WHERE
子句中的括号。
WHERE RENTER.RENTER_ID = LEASE.RENTER_ID
AND LEASE.LEASE_END = '30-JUN-18'
SELECT RENTER.RENTER_ID,
       RENTER_LNAME,
       Round((Count(DEP_ID) + 1) / APART_BED) AS "PEOPLE / BEDROOM"
  FROM RENTER
  JOIN DEPENDENT
    ON RENTER.RENTER_ID = DEPENDENT.RENTER_ID
  JOIN LEASE
    ON LEASE.RENTER_ID = RENTER.RENTER_ID
  JOIN APARTMENT
    ON APARTMENT.APART_NUM = LEASE.APART_NUM
 WHERE RENTER.RENTER_ID = DEPENDENT.RENTER_ID
 AND LEASE.LEASE_END = '30-JUN-18'
 ORDER BY RENTER_ID;