LINUX.ORG.RU

Убрать задвоение в выборке

 ,


0

1
CREATE TABLE IF NOT EXISTS tags (
 id INTEGER PRIMARY KEY,
 name TEXT
);

CREATE TABLE IF NOT EXISTS records (
 id INTEGER PRIMARY KEY,
 title TEXT,
 name TEXT
);

CREATE TABLE IF NOT EXISTS records_tags_m2m (
 id INTEGER PRIMARY KEY,
 record_id INTEGER REFERENCES records(id) ON DELETE CASCADE,
 tag_id INTEGER REFERENCES tags(name) ON DELETE CASCADE
);
sqlite> SELECT * FROM tags;
1|ssh
2|pass
sqlite> SELECT * FROM records;
1|some_title1|some_name1
2|some_title2|some_name2
3|some_title3|some_name3
sqlite> SELECT * FROM records_tags_m2m;
1|1|1
2|2|1
3|3|1
4|3|2
sqlite> SELECT records.title, records.name FROM records_tags_m2m m2m INNER JOIN tags ON tags.id = m2m.tag_id INNER JOIN records ON records.id = m2m.record_id WHERE tags.name IN ('ssh', 'pass');
some_title1|some_name1
some_title2|some_name2
some_title3|some_name3
some_title3|some_name3

Мне бы убрать задвоение

some_title1|some_name1
some_title2|some_name2
some_title3|some_name3



Последнее исправление: Xwo (всего исправлений: 1)
Ответ на: комментарий от pru-mike
sqlite> SELECT DISTINCT records.title, records.name FROM records_tags_m2m m2m INNER JOIN tags ON tags.id = m2m.tag_id INNER JOIN records ON records.id = m2m.record_id WHERE tags.name IN ('ssh', 'pass');
some_title1|some_name1
some_title2|some_name2
some_title3|some_name3

Только так можно или еще как-то ?

Xwo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.