2

私のアプリケーションは sql lite データベースで動作します。SQlite 開発者でクエリを書き、それをテストしました。これは正しく動作していましたが、Android でこれを書いたとき、いくつかの値ではなく 1 つの値のみが返されます。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; 
4

1 に答える 1

0

DISTINCT句を削除してみてください(既に を使用しているためGROUP BY) 問題がこの部分にあるかどうかはわかりませんがDISTINCTGROUP BY1 つのクエリで同時に と を使用することは通常、ベスト プラクティスではありません

于 2013-02-01T07:50:39.040 に答える