今天做项目的时候遇到这样一个问题:
项目中执行sql语句,报错,说是没有M.id这个列。
sql语句:
select distinct M.[id],M.[book_id],M.[mark_title],M.[mark_content],M.[type],M.[chapter_id],M.[chapter_filename],M.[filename],M.[create_time],M.[param1],M.[param2],M.[numchapter],M.[flag],M.[extra],N.[numchapter]from(select A.[id],A.[book_id],A.[mark_title],A.[mark_content],A.[type],A.[chapter_id],A.[chapter_filename],A.[filename],A.[create_time],B.[param1],B.[param2],A.[numchapter],A.[flag],A.[extra]from book_new_mark A left join book_mark_rowindex Bon (A.[book_id] = B.[book_id] or A.[filename] = B.[book_id]) and A.[type] = B.[type]and (A.[extra] = B.[account] or ((A.[extra] is null or A.[extra] = '')and(B.[account] is null or B.[account] = ''))) order by A.[create_time],A.[id] asc) M left join book_case N               on M.[book_id] = N.[bookid]

但是我在SQLite工具上测试sql可用,而且应用上也有类似的语句成功运行。

我折腾了半天,最后改成这样:

select distinct M.id,M.book_id,M.mark_title,M.mark_content,M.type,M.chapter_id,M.chapter_filename,M.filename,M.create_time,M.param1,M.param2, M.numchapter,M.flag,M.extra,N.numchapter  from(select *from book_new_mark A left join book_mark_rowindex Bon (A.book_id = B.book_id or A.filename = B.book_id)and A.type = B.type and (A.extra = B.account or ((A.extra is null or A.extra = '')and(B.account is null or B.account = ''))) order by A.create_time,A.id asc) M left join book_case Non M.book_id = N.bookid

这样就可以了,我怀疑是因为长度问题,但是搜了一下没有说明,执行sql方法的API也没有说明。求大拿说明?

更多相关文章

  1. android 4.2.1 下载和编译
  2. 踩坑实录 Android(安卓)Studio真机测试时 Error while Installin
  3. Android(安卓)Sqlite synchronous设置
  4. cocos2dx 2.2.2 的Android交叉编译问题汇总
  5. 2018最新精选的Android优秀开源库和项目
  6. 新建Android项目
  7. (1)Android开源项目介绍
  8. android studio导入类库
  9. 环境搭建好后的第一个Android(安卓)项目

随机推荐

  1. 别再问我2020年Android前景如何了,我都回
  2. android 触摸(Touch)事件、点击(Click)事
  3. 阿里Android开发规范:资源文件命名与使用
  4. 面试---AMS在Android起到什么作用,简单的
  5. Android获取设备唯一ID
  6. 【Android(安卓)UI设计与开发】第06期:底
  7. android 广播接受者
  8. Ubuntu 10.10 与 华为 C8650 手机搭建 An
  9. 做自己的Android(安卓)ROM,屏蔽对framewor
  10. Android是什么 之三-------手机之硬件形