Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我的查询不正确_Android_Sqlite - Fatal编程技术网

Android 我的查询不正确

Android 我的查询不正确,android,sqlite,Android,Sqlite,我的应用程序使用SQLLite数据库,我在SQlite developer中编写了一个查询,并对其进行了测试,该查询工作正常,但当我在android上编写时,它只返回一个值,而不是几个值。安卓查询有什么问题 程序守则 SELECT DISTINCT m._id, m.name, m.the_best_time, m.the_worse_time, count(p._id) as qPoints FROM sickness AS s INNER JOIN l

我的应用程序使用SQLLite数据库,我在SQlite developer中编写了一个查询,并对其进行了测试,该查询工作正常,但当我在android上编写时,它只返回一个值,而不是几个值。安卓查询有什么问题

程序守则

SELECT DISTINCT
    m._id,
    m.name,
    m.the_best_time,
    m.the_worse_time,
    count(p._id) as qPoints
FROM sickness AS s
INNER JOIN list_of_sicknesses AS l
    ON s._id = l.sickness_id
INNER JOIN point AS p
    ON p.sickness_list = l.number
INNER JOIN meridian AS m
    ON m._id = p.meridian_id
WHERE s.sick = 'value'
GROUP BY
    m.name,
    m.the_best_time,
    m.the_worse_time,m._id
android查询代码

 String query="select distinct m." +MeridianDB.ID+
            ",m."+MeridianDB.NAME+",m."+MeridianDB.BEST_TIME+
            ",m."+MeridianDB.WORSE_TIME+",count(p."+PointDB.ID+") as         qPoints from "+
            SicknessDB.TABLE_NAME+" as s inner join "+ListOFSicknessDB.TABLE_NAME+
            " as l on s."+SicknessDB.ID+" = l."+ListOFSicknessDB.SICKNESS_ID+
            " inner join "+PointDB.TABLE_NAME+" as p on p."+PointDB.SICKNESS_LIST+
            " = l."+ListOFSicknessDB.NUMBER+" inner join "+MeridianDB.TABLE_NAME+
            " as m on m."+MeridianDB.ID+" = p."+PointDB.MERIDIAN_ID+" where s."+
            SicknessDB.NAME+"=? group by m."+MeridianDB.ID+",m."+MeridianDB.NAME+
            ",m."+MeridianDB.BEST_TIME+",m."+MeridianDB.WORSE_TIME; 

尝试删除
DISTINCT
子句(因为您已经在使用
GROUP BY

我不确定这个问题是否在这一部分,但在一个查询中同时使用
DISTINCT
groupby
通常不是最佳做法

您是否验证了android代码中的实际查询是否与您上面提到的sqlite查询匹配?除了“where s.”+SicknessDB.NAME之外,它们是相同的+“=?不是真的。安卓查询缺少最后一个groupby
m._id