- Автор темы
- #1
Между таблицами books и tags связь один-ко-многим, то есть у книги несколько тегов. В результате выполнения запроса
появляются дублирующиеся строки (разница только в tag). Как сделать так, чтобы выборка содержала только одну строку с объединенными тегами?
books
-------------
ID | name
-------------
1 | bname1
authors
-------------
ID | name
-------------
1 | aname1
tags
--------------
bookID | tag
--------------
1 | tag1
1 | tag2
Получить
-------------------------------
ID | bname | aname |tag
-------------------------------
1 | bname1 | aname1 |tag1,tag2
Код:
SELECT books.ID, books.name as bname, authors.name as aname, tags.name as tag FROM books
LEFT OUTER JOIN authors ON books.authorID = authors.ID
LEFT OUTER JOIN tags ON tags.bookID = books.ID
books
-------------
ID | name
-------------
1 | bname1
authors
-------------
ID | name
-------------
1 | aname1
tags
--------------
bookID | tag
--------------
1 | tag1
1 | tag2
Получить
-------------------------------
ID | bname | aname |tag
-------------------------------
1 | bname1 | aname1 |tag1,tag2