Googlade lite på det och det verkade som att nedan skulle vara tillåten syntax men det fungerar ej.
" LEFT JOIN T_movie_files ON T_movie_files.movie_id = T_movie.movie_id AND is_primary = 'true' "
6 svar · 636 visningar · startad av Mattias Nordin
Access 2007 databas
Hur gör man en join där man har ett WHERE kriteria i join satsen. I nedan vill jag hämta ut alla filmer + movie poster + movie_file WHERE is_primary = true.
Det finns alltså en mängd film filer men bara en kan vara primary.
sql = "SELECT * FROM (((T_movie " _
&" LEFT JOIN T_movie_poster ON T_movie.movie_id = T_movie_poster.movie_id)" _
&" LEFT JOIN T_category ON T_category.category_id = T_movie.category_id)" _
&" LEFT JOIN T_movie_files ON T_movie_files.movie_id = T_movie.movie_id [U]WHERE is_primary = 'true')[/U]" _
:stud
Googlade lite på det och det verkade som att nedan skulle vara tillåten syntax men det fungerar ej.
" LEFT JOIN T_movie_files ON T_movie_files.movie_id = T_movie.movie_id AND is_primary = 'true' "
Vad är alltså problemet?
Jag har provat flera varianter men får
Microsoft JET Database Engine error '80040e14'
Join expression not supported.
/allMovies/listAll.asp, line 98
Endera så är det skit bakom spakarna (som vanligt) eller så går det inte att göra dessa typer av joins i Access 2007?!
Mitt senaste test ser ut så här:
sql = "SELECT " &varTop &" T_movie.movie_id, poster_small, film_star, org_movie_title, vote_score, vote_times, category_name, film_year " &_
" FROM (((T_movie " &_
" LEFT JOIN T_movie_poster ON T_movie.movie_id = T_movie_poster.movie_id) " &_
" LEFT JOIN T_category ON T_category.category_id = T_movie.category_id)" &_
" LEFT JOIN T_movie_files ON T_movie_files.movie_id = T_movie.movie_id AND T_movie_files.is_primary = true)" &_
Phew... det gick. Access ville ha lite mer paranteser bara.
" LEFT JOIN T_movie_files ON (T_movie_files.movie_id = T_movie.movie_id AND T_movie_files.is_primary = true))" &_
Tack för hjälpen grabbar :)