18. september 2003 - 15:57Der er
14 kommentarer og 1 løsning
Problemer med en top 10
SQL = "SELECT TOP 10 * FROM oenskeliste genre LIKE '%"&place&"%' ORDER BY filmid"
Jeg skal have følgende felter ud titel, filmid, image
og min top 10 skal gå på dem der er flest ens flimid af. Altså noget lig:
SQL = "SELECT Count(filmid) as antal, filmid, titel, image FROM oenskeliste WHERE genre LIKE '%"&place&"%' GROUP BY filmid ORDER BY Count(filmid) DESC"
får følgende fejl: Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'titel' as part of an aggregate function.
SQL = "SELECT Count(filmid) as antal, filmid, titel, image FROM oenskeliste WHERE genre LIKE '%"&place&"%' GROUP BY filmid, titel ORDER BY Count(filmid) DESC"
SQL = "SELECT TOP 10 Count(filmid) as antal, filmid, titel, image FROM oenskeliste WHERE genre LIKE '%"&place&"%' GROUP BY filmid, titel ORDER BY Count(filmid) DESC"
Fejl: [Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'image' as part of an aggregate function
SQL = "SELECT TOP 10 Count(filmid) as antal, filmid, titel, image FROM oenskeliste WHERE genre LIKE '%"&place&"%' GROUP BY filmid, titel, image ORDER BY Count(filmid) DESC"
SQL = "SELECT TOP 10 Count(oenskeliste.filmid) as antal, oenskeliste.filmid, video.Titel, video.billede FROM oenskeliste, video WHERE oenskeliste.filmid=video.FilmID AND video.Genre LIKE '%"&place&"%' GROUP BY oenskeliste.filmid, video.Titel, video.billede ORDER BY Count(oenskeliste.filmid) DESC"
Lige nu er der 14 film den kan finde, og den tager dem alle
SQL = "SELECT TOP 10 Count(oenskeliste.filmid) as antal, oenskeliste.filmid, video.Titel, video.billede FROM oenskeliste INNER JOIN video ON oenskeliste.filmid=video.FilmID WHERE video.Genre LIKE '%"&place&"%' GROUP BY oenskeliste.filmid, video.Titel, video.billede ORDER BY Count(oenskeliste.filmid) DESC"
Jeg fatter det ikke helt med her er min kode, det gav i øvrig ikke nogen forskel hvis jeg brugte join
'den her giver 14 SQL = "SELECT TOP 10 Count(oenskeliste.filmid) as antal, video.FilmID, video.Titel, video.billede FROM oenskeliste, video WHERE oenskeliste.filmid=video.FilmID AND video.Genre LIKE '%"&place&"%' GROUP BY video.FilmID, video.Titel, video.billede ORDER BY Count(oenskeliste.filmid) DESC"
'Den simple herunder den giver 10 'SQL = "SELECT TOP 10 * FROM video WHERE Genre LIKE '%"&place&"%' ORDER BY udlejet DESC, FilmID" Set RS = Server.CreateObject("ADODB.Recordset") RS.CursorLocation = 3 RS.CursorType = 3 RS.ActiveConnection = Conn RS.Open SQL, Conn, 1, 3 If NOT (RS.BOF AND RS.EOF) Then do until RS.eof strtitel=RS("Titel") filmid=RS("FilmID") pic=RS("billede")
SQL = "SELECT TOP 10 Count(oenskeliste.filmid) as antal, video.FilmID, video.Titel, video.billede FROM oenskeliste, video WHERE oenskeliste.filmid=video.FilmID AND video.Genre LIKE '%"&place&"%' GROUP BY video.FilmID, video.Titel, video.billede ORDER BY Count(oenskeliste.filmid) DESC, oenskeliste.filmid"
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'oenskeliste.filmid' as part of an aggregate function.
Løsning: SQL = "SELECT TOP 10 Count(oenskeliste.filmid) as antal, video.FilmID, video.Titel, video.billede FROM oenskeliste, video WHERE oenskeliste.filmid=video.FilmID AND video.Genre LIKE '%"&place&"%' GROUP BY video.FilmID, video.Titel, video.billede ORDER BY Count(oenskeliste.filmid) DESC, video.FilmID"
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.