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;
有人可以告诉我我的错误在哪里吗?
@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);
这应该有效。如果没有,请回复我:-)