Visa ett inlägg
Oläst 2013-06-23, 23:44 #4
Anaxa Anaxa är inte uppkopplad
Medlem
 
Reg.datum: Jun 2013
Inlägg: 58
Anaxa Anaxa är inte uppkopplad
Medlem
 
Reg.datum: Jun 2013
Inlägg: 58
http://www.anaxa.se/sql.sql (kolumnen 'genres' i 'movies' skall tas bort. Han inte göra det innan jag exporterade)

Jag löste det jag vill ha hjälp med och det var att hämta ALLA filmer vars genrer kan vara både Action och Skräck. Alltså inte filmer som bara ha action och bara har skräck utan som har båda två.
Detta funkar bra med denna query:
PHP-kod:
SELECT m.* FROM movies m JOIN movie_genres mg ON mg.movie_id m.id AND mg.genre_id IN (111GROUP BY m.id HAVING COUNT(DISTINCT mg.genre_id) = 2 ORDER BY m.date ASC 
Här representerar 1 och 11 genrens ID

Men nu vill jag också hämta ALLA genrer en film har och lägg till det på ett eget fält: Action,Skräck,Komedi (det behöver inte vara avgränsat med komma). Bara så att jag kan få ut datan så att jag kan bearbeta den med PHP. Jag provade med detta:
PHP-kod:
SELECT m.*, GROUP_CONCAT(genres.name) AS genre_field FROM movies m JOIN movie_genres mg ON mg.movie_id m.id AND mg.genre_id IN (1,11JOIN genres ON mg.genre_id genres.id GROUP BY m.id HAVING COUNT(DISTINCT mg.genre_id) = 2 ORDER BY m.date ASC LIMIT 030 
Men ovanstående ger mig bara en rad med ett fält som heter genre_field med värdet 'Action,Skräck'. Värdet ska egentligen bli 'Action,Skräck,Fantasy'(alla genrer).

Filmen i fråga är Hansel och Gretel som ligger i movies-tabellen.
Anaxa är inte uppkopplad   Svara med citatSvara med citat