SQLite 错误列(存在)在编译 CREATE VIEW 时不存在



我正在尝试创建一个视图,但由于某种原因,它给了我一个列不存在的错误。这不是我制作的第一个视图,所有其他视图都在工作,表格在那里,列和所有(我用DBBrowser检查了,除了这个VIEW之外的所有内容都不起作用)。

我已经检查了我的空格,一切都井井有条,但出了点问题,我一直在拔头发试图弄清楚是什么。有人可以对此有所了解吗?

日志猫

 Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jc.pseudocc/com.example.jc.pseudocc.AccountManager}: android.database.sqlite.SQLiteException: no such column: Companies.CompanyID (code 1): , while compiling: CREATE VIEW ViewCompanies AS SELECT Companies.CompanyID AS _id, Payments.GroupID, Payments.PaymentDue, Payments.DateDue FROM Payments JOIN Accounts ON Payments.GroupID = Accounts.AccountID

公司

db.execSQL("CREATE TABLE " + COMPANY + " (" + colCompID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            colCompClass + " TEXT)");

付款

db.execSQL("CREATE TABLE " + PAYMENTS + " (" + colPayID + " INTEGER PRIMARY KEY , " +
            colGroupID + " INTEGER NOT NULL, " +
            colPayBal + " TEXT, " +
            colInterest + " TEXT, " +
            colPayDue + " TEXT, " +
            colDateDue + " TEXT, " +
            colPayDate + " TEXT, " +
            "FOREIGN KEY (" + colGroupID + ") REFERENCES " + ACCOUNTS + " (" + colID + ") ON DELETE CASCADE);");

视图

db.execSQL("CREATE VIEW " + viewComps +
            " AS SELECT " + COMPANY + "." + colCompID + " AS _id," +
            " " + COMPANY + "." + colCompClass + "," +
            " " + PAYMENTS + "." + colGroupID + "," +
            " " + PAYMENTS + "." + colPayDue + "," +
            " " + PAYMENTS + "." + colDateDue + "" +
            " FROM " + PAYMENTS +
            " JOIN " + ACCOUNTS + " ON " + PAYMENTS + "." + colGroupID + " = " + ACCOUNTS + "." + colID );

创建视图时,您可以引用"公司"和"付款"。您需要在查询的FROM部分中指出:

取代

" FROM " + PAYMENTS +

" FROM " + PAYMENTS + ", " + COMPANY +

相关内容

最新更新