sql >> Database teknologi >  >> RDS >> SQLite

Hvordan kombinerer jeg data fra to separate tabeller til en enkelt markør?

Du kan bruge en CursorJoiner til at få noget, der ligner at flette to markører til én. CursorJoiner udfører faktisk ikke en fletning. Når du itererer over den, flytter den de originale to markører, så deres rækker matcher den eller de specificerede kolonner. Det er derfor, det er nødvendigt, at begge markører er sorteret på de kolonner, der skal bruges i joinforbindelsen.

Link til dokumentation:http://developer.android.com/reference/android/database/CursorJoiner.html

Kodeeksempel:

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. JSON_ARRAY_APPEND() – Tilføj værdier til et JSON-array i MySQL

  2. Sådan vælger du en brugervenlig database til din virksomhed

  3. Sådan bruges den samme tidsplan til flere SQL Server Agent-job (T-SQL)

  4. Konverter forespørgselsresultater til en kommasepareret liste i MariaDB