sqlite3:靠近“。” :语法错误

时间:2014-01-25 21:23:19

标签: sql sqlite

我已经创建了两个表:

create table movies(id integer, name text, score integer);
create table cast(movie_id integer, cast_id integer, cast_name text);

我需要前10个(不同的,按字母顺序由cast_name)演员和他们的平均电影分数,所以我试过:

select movie_id,cast_id,cast_name,id,score from cast,movies 
where movies.id=cast.movie_id and cast_name in 
(select distinct cast_name from cast order by cast_name limit 10);

但后来我收到一条错误消息:“。” :语法错误

之后,我试图让它变得更简单:

select cast_name, score from cast,movies where movies.id=cast.movie_id;

我仍然遇到同样的错误。

我想这可能是因为'。'是sqlite3中的一个特殊命令,但无法弄清楚如何解决这个问题。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:5)

cast是保留字。保留字列表为here

select cast_name, score
from `cast` c join
     movies m
     on m.id = c.movie_id;

您可以使用反引号或双引号将其转义。此查询使用表别名来简化查询和更现代的连接语法。

答案 1 :(得分:0)

您无法使用指定列。表示法只是按名称调用列而不是tablename.columnname