查询中缺少Oracle SQL Developer的表达式

时间:2018-12-03 00:16:24

标签: oracle oracle-sqldeveloper

SELECT b.*
FROM buses b,
     bus_stations bs,
     starts st,
     stops_at sa
WHERE st.station_no = ( SELECT station_id 
                        FROM bus_stations 
                        WHERE station_name = "golden mile_Regina"
                      )
  AND sa.station_no = ( SELECT station_id 
                        FROM bus_stations 
                        WHERE station_name = 'westmount_edmonton'
                      )
ORDER BY DATE;

1 个答案:

答案 0 :(得分:1)

您不能在字符串中使用双引号-使用单引号,即

WHERE station_name = 'golden mile_Regina'

顺便问一下,您确定拼写和字母大小吗?下划线真的是混合情况吗?只是问问。

此外,您正在按DATE进行排序-也不起作用,您不能使用DATE作为列名(除非您将其用双引号引起来,但我当然不建议这样做)。看下面的示例(愚蠢的,是的-将日期设置为数字,但我只是为了强调不能将DATE用作列名):

SQL> create table test (date number);
create table test (date number)
                   *
ERROR at line 1:
ORA-00904: : invalid identifier

修复此问题后,您会得到意外的结果,因为FROM子句中有4个表,但是它们没有相互连接,因此这将是一个很好的笛卡尔积。