Получить результат двух таблиц - PullRequest
0 голосов
/ 05 октября 2011

Я получил две таблицы "ссылки" и "категории", как мне получить 4 столбца из ссылок и одну из категорий?

**Links**
_id
link_title
link_desc
link_date

**Categories**
_id
cat_title
cat_desc

мне нужна такая строка _id, link_title, link_desc, link_date, cat_title

и затем используйте это в моем курсоре

private void fillData() {
    Cursor linkCursor = mDbHelper.fetchAllLinks();
    startManagingCursor(linksCursor);

    String[] from = new String[]{ DbAdapter.LINK_TITLE, DbAdapter.LINK_DESC, DbAdapter.LINK_DATE, DbAdapter.LINK_ROWID, DbAdapter.CAT_DESC };
    int[] to = new int[]{ R.id.title, R.id.content, R.id.date, R.id.headid, R.id.catdesc  };

    SimpleCursorAdapter links = new SimpleCursorAdapter(this, R.layout.linkrow, linkCursor, from, to);
    //links.setViewBinder(new MyViewBinder());
    setListAdapter(links);
}

Я пробовал SQL UNION, но он не работал.

1 Ответ

0 голосов
/ 05 октября 2011

То, что вы хотите, называется объединением.Но для этого вам нужно либо дать два идентификатора, либо добавить столбец category_id в таблицу ссылок.

SELECT
    l._id,
    link_title, 
    link_desc,
    link_date, 
    cat_title
FROM Links l,  Categories c
WHERE l._id = ?
AND c._id = ?

или после добавления столбца

SELECT
    l._id,
    link_title, 
    link_desc,
    link_date, 
    cat_title
FROM Links l
LEFT JOIN Categories c ON c._id = l.link_cat_id
WHERE l._id = ?

Дополнительная информация:

  • w3schools.com / sql - Учебник по SQL.Общий SQL, который работает для большинства механизмов баз данных.
  • sqlite.com / lang.html - Справочник по синтаксису для SQLite, который используется в Android.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...