2016-06-16 13 views
0

を使用していないような列:アンドロイド:SQLiteException:私はこのクエリでstuckedてきたサブクエリ

SELECT * FROM (

SELECT tab._id t_id, tab.name name, pics.pic1 pic FROM mushrooms tab 
JOIN mushrooms_pics pics ON t_id = pics.id WHERE t_id IN 
(SELECT item_id FROM coordinate WHERE type = "mushrooms") UNION 

SELECT tab._id t_id, tab.name name, pics.pic1 pic FROM berries tab 
JOIN berries_pics pics ON t_id = pics.id WHERE t_id IN 
(SELECT item_id from coordinate WHERE type = "berries") UNION 

SELECT tab._id t_id, tab.name name, pics.pic1 pic FROM herbs tab 
JOIN herbs_pics pics ON t_id = pics.id WHERE t_id IN 
(SELECT item_id from coordinate WHERE type = "herbs") 

) 
LEFT JOIN coordinate c ON t_id = c.item_id WHERE t_id IN 
(SELECT item_id from coordinate) 

クエリは、「SQLiteのためのDBブラウザ」で正常に動作しますが、私のアプリで私はエラーを取得し、 LOGCATのエラーは次のとおりです。

android.database.sqlite.SQLiteException: no such column: herbs (code 1): , while compiling: SELECT name FROM(SELECT tab._id t_id, tab.name name, pics.pic1 pic FROM mushrooms tab JOIN mushrooms_pics pics ON t_id = pics.id WHERE t_id in (SELECT item_id from coordinate WHERE type = mushrooms) UNION SELECT tab._id t_id, tab.name name, pics.pic1 pic FROM berries tab JOIN berries_pics pics ON t_id = pics.id WHERE t_id in (SELECT item_id from coordinate WHERE type = berries) UNION SELECT tab._id t_id, tab.name name, pics.pic1 pic FROM herbs tab JOIN herbs_pics pics ON t_id = pics.id WHERE t_id in (SELECT item_id from coordinate WHERE type = herbs)) LEFT JOIN coordinate c on t_id = c.item_id WHERE t_id in (SELECT item_id from coordinate) 

私はこれをどのように修正できますか? ありがとう;)

答えて

1

SQLでは、文字列は一重引用符を使用します。 二重引用符は、テーブル名または列名をエスケープするために使用します。

(SQLiteのは、両方のコンテキストでできますが、これはあいまいな状況では役立ちません。)

+0

はそれが助けた、ありがとうございます! – Nemesis

関連する問題