SQLite - как правильно написать соединение? - PullRequest
0 голосов
/ 28 ноября 2009

У меня есть две таблицы. Первый:

create table history ( id integer primary key, task integer )

И второй:

create table task ( id integer primary key, name text )

Каким будет запрос SQLite, который вернет список history.id и task.name, где history.task == task.id (все элементы из таблицы 'history' с именами из таблицы 'task')?

Ответы [ 2 ]

2 голосов
/ 28 ноября 2009
SELECT history.id, task.name
    FROM history
    INNER JOIN task
    WHERE history.task = task.id

Используйте LEFT JOIN, если вы не уверены, что задача будет присутствовать для определенной строки в истории - нули будут возвращены, если строка отсутствует.

Синтаксис для SELECT описан здесь (с использованием изображений).

1 голос
/ 28 ноября 2009

Попробуйте следующее:

SELECT history.id, task.name FROM history LEFT JOIN task ON history.task = task.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...