1. ホーム
  2. sql

[解決済み] sqlite3: "." の近く: 構文エラー

2022-02-08 19:15:53

質問

すでに2つのテーブルが作成されています。

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では、'.'が特殊なコマンドであるためか、この問題を解決する方法がわかりません。

何かお手伝いいただけると幸いです。

解決方法は?

cast は予約語です。 予約語一覧は こちら .

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

バックティックやダブルクォートを使ってエスケープすることができます。 このクエリでは、クエリを単純化するためにテーブルエイリアスを使用し、結合にはより現代的な構文を使用しています。