-1
select line_number, TIME

from LINE join LINE_STOP join PASSAGE

where time = (select count (Time)

from passage

where time between 500 and 620)

group by line_number;

有人可以告诉我我的错误在哪里吗?

4

1 回答 1

1

@Gordon Linoff 更正!!TIME 是 Oracle 中的 PL/SQL 保留字,可用于独立于 PL/SQL 代码的 SQL 查询。但是在这里,将时间与计数值等同起来确实会引起混淆。我的猜测,瓦莱丽试图用它来计算次数,line_number 重复或类似的东西。

而“缺少关键字”错误是因为您没有使用“ON”关键字,如果您使用 Join 语句,这是强制性的。

@Valérie Hallé 如果你想像我上面假设的那样做,试试这个,

SELECT L.LINE_NUMBER, L.TIME
  FROM LINE L
  JOIN LINE_STOP LS ON LS.LINE_NUMBER = L.LINE_NUMBER 
  JOIN PASSAGE P    ON P.LINE_NUMBER = L.LINE_NUMBER
 WHERE L.TIME IN (SELECT COUNT (TIME)
                    FROM PASSAGE
                   WHERE TIME BETWEEN 500 AND 620);

这应该有效。如果没有,请回复我:-)

于 2015-12-08T06:23:59.833 回答