01. marts 2003 - 13:54Der er
15 kommentarer og 1 løsning
SQL - DISTINCT + UNION
Hvad er der lige galt her?
SQL = "SELECT DISTINCT Lokaler.Id, Lokaler.lokale, Booking.bookid as bId, Booking.lokalenr, Booking.Dato, Booking.initialer, Booking.firma, Booking.tid, Booking.kommentar, Booking.samletpris, Booking.sagsnr, Booking.antal, Booking.tlf, Booking.foldevæg, Booking.projektør, Booking.KaffeThe, Booking.kaffekande, Booking.tekande, Booking.rundstykker, Booking.ost, Booking.eftermiddagskage, Booking.småkager, Booking.frugt, Booking.isvandkande, Booking.opdækning_uden_dug, Booking.opdækning_med_dug, Booking.buffet, Booking.buffetantal, Booking.bordopstilling FROM booking INNER JOIN Lokaler ON Booking.lokalenr = Lokaler.id WHERE Booking.bookid = " & Request.querystring("id") & " ORDER BY Booking.bookid UNION SELECT Lokaler.Id, Lokaler.lokale, Booking.bookid as bId, Booking.lokalenr, Booking.Dato, Booking.initialer, Booking.firma, Booking.tid, Booking.kommentar, Booking.samletpris, Booking.sagsnr, Booking.antal, Booking.tlf, Booking.foldevæg, Booking.projektør, Booking.KaffeThe, Booking.kaffekande, Booking.tekande, Booking.rundstykker, Booking.ost, Booking.eftermiddagskage, Booking.småkager, Booking.frugt, Booking.isvandkande, Booking.opdækning_uden_dug, Booking.opdækning_med_dug, Booking.buffet, Booking.buffetantal, Booking.bordopstilling FROM booking"
Den melder følgende: ADODB.Recordset error '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Nu får jeg så: [Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'lokalenr' as part of an aggregate function.
Kig nu alligevel efter. Den brokker sig over at du mangler at angive 2 parametre. og eftersom der ikke er noget basalt galt med din forespørgsel, er det nok et par feltnavne. tekande? du staver kaffethe med h, men tekande uden.
Jeg har lige lavet min sql igen med en god gang copy & paste. Det eneste som ikke er det samme alle 4 steder i select og group er at i group har jeg ikke MIN(booking.tid) as minTid, MAX(booking.tid) as maxTid med. Ellers er det helt ens.
Kan det være at fejlen ligger ved samlingerne hvor jeg har en UNION SELECT eller en af de andre funktioner?
Yep ... det var det der var fejl. Men faktisk så hjalp det mig ikke en dyt :-( Problemet er at jeg skal have trukket følgende ud: Booking.andet ... det er en memo så jeg kan ikke trække den ud i min DISTINCT. Hvis jeg kun trækker den ud i min union så brokker den sig over at der ikke er lige så mange felter som i min anden select. Hvad kan jeg gøre?
Mortrr ... du skal nok få de point for spørgsmålet da du jo fandt fejlen! Kan du hjælpe med det andet?
Det burde være nok at bruge select distinct ... left(andet,200), ... Det skal selvfølgelig være alle de steder hvor det refereres. Altså select Left(booking.andet,200) as andet group by Left(booking.andet,200) Jeg bruger ikke access så meget, men det er metoden jeg ville bruge på fx en sql-server.
- Morten
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.