【问题标题】:How to delete duplicated Objects from SQLite query result from android如何从android的SQLite查询结果中删除重复的对象
【发布时间】:2020-03-16 20:59:58
【问题描述】:

我想要做的是从查询结果中删除重复项。 我尝试使用 HashSet 但不太奏效。所以我想直接从查询中删除重复项。

这是查询

public List<SaleHeader> getSaleHeadersDevolutionsToSync(){
    List<SaleHeader> saleHeaderList =new Select().from(SaleHeader.class)
            .innerJoin(Devolution.class)
            .on("Devolutions.idSaleHeader = SaleHeaders.idSaleHeader")
            .where("Devolutions.idDevolution < 0").execute();
    Log.e("Tag", String.valueOf(saleHeaderList));
    return saleHeaderList;
}

这是我试过的HashSet

            Set<SaleHeader> set = new HashSet<>(saleHeaderDevolutionList);
            saleHeaderDevolutionList.clear();
            saleHeaderDevolutionList.addAll(set);

任何关于寻找什么的帮助或建议都会很棒,谢谢

【问题讨论】:

  • 新哈希集.....
  • 感谢您的回复。我也尝试过,但android将其标记为不必要。无论如何,我让它在那里,也没有工作

标签: android sqlite activeandroid


【解决方案1】:

终于搞明白了如何实现直接查询

    List<SaleHeader> saleHeaderListQuery =
            SQLiteUtils.rawQuery(SaleHeader.class,
                    "SELECT DISTINCT Devolutions.idsaleheader FROM Devolutions LEFT JOIN SaleHeaders ON Devolutions.idSaleHeader = SaleHeaders.idsaleheader " +
                            "WHERE Devolutions.iddevolution < ?",
                    new String[] { "0" });

【讨论】:

    猜你喜欢
    • 2021-01-17
    • 2020-12-25
    • 2022-11-04
    • 2021-04-05
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    相关资源
    最近更新 更多