SQLite для пользовательских табличных представлений Android (SQL VIEW, а не Android) несоответствие?

Я создал пользовательский вид в базе данных SQLite для приложения для Android.
Я использую Sqliteman на Ubuntu для проверки своих SQL-инструкций, прежде чем помещать их в свое приложение.
Я пытаюсь сделать простой оператор select на моем представлении.
Оператор select отлично работает в SQLiteman, но когда я помещаю тот же оператор в свой код, он выдает ошибку.

Заявление:

select * from item_view where parent_item_id = 0; 

Представление (преобразованное в Java в виде строки):

 "create view if not exists item_view as select " + "item._id, item.status, item.name, item.position, " + "item.parent_item_id, item.note_id, item.other_id, " + "note.contents, other.priority " + "from item, note, other where item.note_id = note._id and item.other_id = other._id" 

Ошибка:

 07-16 14:21:15.153: ERROR/AndroidRuntime(5054): Caused by: android.database.sqlite.SQLiteException: no such column: parent_item_id: , while compiling: SELECT * FROM item_view WHERE parent_item_id = 0 

Сначала я попробовал вызвать поле item.parent_item_id в моей инструкции select, но это не сработало.
Затем я вытащил дБ и открыл его с Sqliteman.
Поля были указаны в исходных таблицах (_id, status, name и т. Д.).
Поэтому я запустил SQL выше в Sqliteman и смог получить соответствующие данные без проблем, но я не могу заставить его работать в моем приложении в любом случае.
Я также заметил, что удаление представления в качестве команды DROP TABLE работало в SQLiteman, но не в моем приложении.
Мне интересно, может ли я потерять некоторые другие функции VIEW.
Однако я не видел ни в документации по Android, ни в документации SQL.

Технически я мог бы просто сделать это с помощью более сложного вызова SQL с использованием исходных таблиц, но все мои таблицы следуют определенным рекомендациям, чтобы я мог динамически генерировать вызовы SQL. Я бы хотел, чтобы таблицы представлений работали, чтобы мой код был единым и всегда повторял одни и те же вызовы, чтобы избежать обслуживания и других проблем с ошибками из дублирующего кода.

Solutions Collecting From Web of "SQLite для пользовательских табличных представлений Android (SQL VIEW, а не Android) несоответствие?"

Оказывается, вам нужно конкретно указать каждое созданное вами поле, чтобы андроид мог рассматривать его как обычную таблицу. Решение…

 "create view if not exists item_view as select " + "item._id as _id, item.status as item_status, item.name as item_name, item.position as item_position, " + "item.parent_item_id as item_parent_item_id, item.note_id as item_note_id, item.other_id as item_other_id, " + "note.contents as note_contents, other.priority as other_priority " + "from item, note, other where item.note_id = note._id and item.other_id = other._id"