2016-07-28 70 views
0

這是原始查詢,其中包含左連接並將列表按升序排列由STUDENT_NAME在Sqlite中排序

我想通過從外部向此查詢命令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} 
     ); 

或者你可以將結果傳遞列出/ HashMap和排序,因爲你需要。

+0

這工作正常。謝謝 – tenten