Witam,
Mam 4 tabele:
1. Tabela t_movies
id, id_rating, title_pl

2. Tabela t_ratings
id, rating

3. Tabela t_genres
id, genre

4. Tabela t_movies_genres
id,id_movie,id_genre

Chcę pobrać wszystkie dane z tabeli t_movies (oprócz t_rating). Dodatkowo chcę pobrać rating (z tabeli t_ratings) oraz genre (z tabeli t_genres).

Skonstruowałem takie zapytanie:
  1. SELECT m.id,m.title_pl,r.rating,g.genre FROM t_movies AS m,t_ratings AS r,t_movies_genres AS mg,t_genres AS g WHERE m.id_rating = r.id AND m.id = mg.id_movie AND g.id = mg.id_genre


Moje pytanie brzmi: Jak skonstruować zapytanie by title_pl unikatowe a było wiele genre dla niego.



Uff, rozwiązałem problem poniżej rozwiązanie, a może komuś się przyda.
  1. SELECT m.id,m.title_pl,r.rating,g.genre,GROUP_CONCAT(DISTINCT g.genre SEPARATOR ', ') AS gatunki
  2. FROM t_movies AS m,t_ratings AS r,t_movies_genres AS mg,t_genres AS g
  3. WHERE m.id_rating = r.id AND m.id = mg.id_movie AND g.id = mg.id_genre GROUP BY m.title_pl