Как удалить дублированные объекты из результата запроса SQLite из android - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь удалить дубликаты из результата запроса. Я пытался использовать 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);

Любая помощь или суждения о том, что искать было бы здорово, спасибо

1 Ответ

0 голосов
/ 17 марта 2020

Наконец-то я понял, как реализовать прямой запрос

    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" });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...