2016-07-28 9 views
0

これは、左結合を含む生のクエリで、STUDENT_NAMEで昇順にリストを作成します。Sqliteで並べ替える

私は外部からこのクエリにORDER BY STUDENT_DETAILS.STUDENT_NAME ASCを渡します。 (私は時々このASCをDESCにしたいと思っています)。

生のクエリでこれを実装する方法は?

cursor = db.rawQuery(
     "SELECT * 
     FROM STUDENT 
     LEFT JOIN STUDENT_DETAILS ON 
        STUDENT.STUDENT_ID=STUDENT_DETAILS.STUDENT_ID 
     WHERE STUDENT.START_DATE <= ? AND STUDENT.EXPIRED_DATE >= ? 
     ORDER BY STUDENT_DETAILS.STUDENT_NAME ASC", 
     new String[]{date, date} 
     ); 
+1

現在のコードで何が問題になっていますか? –

答えて

2

ちょうどクエリがニーズ

String addictionalState = "ASC"; 
if (something) 
    addictionalState = "DESC"; 

cursor = db.rawQuery(
     "SELECT * FROM STUDENT LEFT JOIN STUDENT_DETAILS ON STUDENT.STUDENT_ID=STUDENT_DETAILS.STUDENT_ID WHERE STUDENT.START_DATE <= ? AND STUDENT.EXPIRED_DATE >= ? ORDER BY STUDENT_DETAILS.STUDENT_NAME "+addictionalState , 
     new String[]{date, date} 
     ); 

それとも、リスト/ハッシュマップとソートあなたが必要とするように結果を渡すことができますに依存します。

+0

これは正常に動作します。ありがとう – tenten

関連する問題