sql >> Databáze >  >> RDS >> SQLite

Jak zkombinuji data ze dvou samostatných tabulek do jednoho kurzoru?

Pomocí CursorJoiner můžete získat něco podobného jako sloučení dvou kurzorů do jednoho. CursorJoiner ve skutečnosti neprovádí sloučení. Jak přes něj iterujete, přesune původní dva kurzory tak, aby jejich řádky odpovídaly zadanému sloupci (sloupcům). Proto je nutné, aby oba kurzory byly seřazeny ve sloupcích, které mají být použity ve spojení.

Odkaz na dokumentaci:http://developer.android.com/reference/android/database/CursorJoiner.html

Příklad kódu:

CursorJoiner joiner = new CursorJoiner(userCursor, new String[]{ "user_id" }, postCursor, new String[] {"user_id"});

while (joiner.hasNext()) {
    CursorJoiner.Result result = joiner.next();
        switch (result) {
            case LEFT:
                // don't care about this case
                break;

            case RIGHT:
                // nor this case
                break;

            case BOTH:
                // here both original Cursors are pointing at rows that have the same user_id, so we can extract values
                int postId = postCursor.getInt(...);
                String headline = postCursor.getString(...);
                int userId = userCursor.getInt(...);        
                String userName = userCursor.getString(...);

                // do something with above values

                break;

        }
}     


  1. Generujte_série v Postgresu od počátečního a koncového data v tabulce

  2. Jak získám Oracle SCHEMA jako skripty DDL s DBMS_METADATA (a SCHEMA_EXPORT)

  3. Aktualizace pandy sql

  4. Jak nainstalovat MariaDB 10 na RHEL 8