【问题标题】:Sort By in Sqlite在 Sqlite 中排序
【发布时间】:2016-07-28 16:08:02
【问题描述】:

这是包含左连接并按 STUDENT_NAME 使列表升序排列的原始查询。

我想将 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}
        );

【问题讨论】:

  • 当前代码有什么问题?

标签: android sqlite


【解决方案1】:

根据您的需要进行查询

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}
        );

或者您可以将结果传递给列表/哈希图并根据需要进行排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    相关资源
    最近更新 更多