mysql - Joining and printing search results of a column with multiple values in a cell -
i have 3 databases, details follows.
i wish print columns in books_db database plus each book's genre @ same time.
a book can fall multiple genres, gave unique id each genre.
genre_id 1 - thriller , genre_id 2 - adventure etc.
--- books_db ----------- id (int ai) book_title (varchar) author (varchar) --- genre_link_db ------ id_books (int) genre_id (int) --- genre_db ----------- genre_id (int) genre (varchar)
so far, i've managed code sql statement. works, works 1st search result group concat() concatenate genres , not print new line next search result.
for example below, if try '%' , supposed show results, shows 1 result genres correctly printed.
select *, group_concat(t2.genre separator ', ') genre_result (select * books_db book_title '%') t1 join (select id_books, genre genre_link_db inner join genre_db on genre_link_db.genre_id = genre_db.genre_id ) t2 on t1.id = t2.id_books;
i believe missing group by-statement.
i rewrite joining-part of query. don't think subselects necessary here.
something have done:
select *, group_concat(t2.genre separator ', ') genre_result books_db t1 join genre_link_db on genre_link_db.id_books = t1.id join genre_db t2 on genre_link_db.genre_id = t2.genre_id books_db.book_title '%' group t1.id;
Comments
Post a Comment