【问题标题】:No such column on sqlite android querysqlite android查询上没有这样的列
【发布时间】:2014-02-12 14:09:56
【问题描述】:

我正在运行一个查询,但它没有返回这样的列。我将该列复制并粘贴到 sqlite 查看器中,它正在运行且没有错误。

String SQL_QUERY = "SELECT m.* FROM '21_cars_models' as m INNER JOIN ( '41_cars_models_galleries' as mg 
INNER JOIN ( '24_galleries' as g 
INNER JOIN ( '26_galleries_pictures' as gp INNER JOIN '25_pictures' as p ON gp.picture_id=p._id ) 
ON g._id=gp.gallery_id ) ON mg.gallery_id=g._id ) 
ON m._id=mg.model_id WHERE m.brand_id LIKE '" + markaID + "'";

02-12 13:58:09.881: E/MYAPP(10962): android.database.sqlite.SQLiteException: no such column: gp.gallery_id (code 1): , while compiling: SELECT m.*  FROM '21_cars_models' as m INNER JOIN ( '41_cars_models_galleries' as mg INNER JOIN ( '24_galleries' as g INNER JOIN ( '26_galleries_pictures' as gp INNER JOIN '25_pictures' as p ON gp.picture_id=p._id ) ON g._id=gp.gallery_id ) ON mg.gallery_id=g._id ) ON m._id=mg.model_id WHERE m.brand_id LIKE '339'

编辑: 如果我删除所有 INNER JOIN 并运行它一切都很好。我不明白为什么 INNER JOIN 事情会爆炸。再次提醒,如果我直接将它运行到数据库,一切都很好......

【问题讨论】:

  • 贴出你所有的代码和你的sqlite数据库的截图
  • 请发送证据。

标签: java android sqlite


【解决方案1】:

问题是你不能用括号进行内部连接......我把我的查询变成了

从 a INNER JOIN b ON a.id=b.id INNER JOIN c ON c.id=b.id INNER JOIN d ON d.id=c.id

而且效果很好……

感谢大家的宝贵时间......

【讨论】:

  • 内连接不能有括号的引用?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-10
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多