19. juni 2001 - 11:02Der er
8 kommentarer og 1 løsning
Access2000 fejl ?
Ja, Access er ikke noget jeg leger med normalt men jeg prøver at hjælpe en bekendt med en query der fejler og jeg fatter ikke helt hvorfor...
Vi har en query SELECT si.sideid, si.titel, si.beskrivelse FROM element2side es, elementer el, sider si WHERE si.sideid=es.sideid AND es.elementid=el.elementid AND el.sogeord LIKE \'%\"&sogeord&\"%\' GROUP BY si.sideid ORDER BY si.sideid
Fejlen der kommer er You tried to execute a query that does not include the specified expression \'titel\' as part of an aggregate function.
Jeg har ikke direkte adgang til databasen... Min ven siger at tabeller og feltnavne er korrekte...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
SELECT DISTINCT si.sideid, si.titel, si.beskrivelse FROM element2side es, elementer el, sider si WHERE si.sideid=es.sideid AND es.elementid=el.elementid AND el.sogeord LIKE \'%\"&sogeord&\"%\'
proaccess >> umiddelbart ser det ud til at virke, men når vi dropper GROUP BY mister vi muligheden for at lave en COUNT(si.sideid) - ja, jeg ved godt jeg glemte det i ovenstående spm... Noget du kan fuske ind i eksemplet ?
SELECT si.sideid, si.titel, count(si.beskrivelse) FROM element2side es, elementer el, sider si WHERE si.sideid=es.sideid AND es.elementid=el.elementid AND el.sogeord LIKE \'%\"&sogeord&\"%\' GROUP BY si.sideid, si.titel ORDER BY si.sideid
Count(sideid) vil altid give 1 !!! (fordi du grupperer efter det)
Det er mig der er ljwebs bekendt og som trækker på hans konsulenthjælp.
Det vil måske være nemmere hvsi jeg skrev præcis hvilket output det er jeg ønsker..
Jeg har 3 tabeller: elementer, sider og element2side
elementer består af en række webside-elementer. sider består af en række websider og element2side knytter de to sammen og fortæller hvilke elementer den enkelte side er sammensat af.
Hvert element har tilknyttet et felt der hedder sogeord i tabellen elementer.
Det jeg ønsker er en liste af sider der indeholder elementer, der indeholder det aktuelle søgeord. Disse sider skal ordnes efter hvor mange elementer den enkelte side har der har knyttet det aktuelle søgeord til sig. Der må ikke forekomme dubletter.
SELECT si.sideid, si.titel, si.beskrivelse, count(es.elementid) AS Elementer FROM element2side es, elementer el, sider si WHERE si.sideid=es.sideid AND es.elementid=el.elementid AND el.sogeord LIKE \'%\"&sogeord&\"%\' GROUP BY si.sideid, si.titel, si.beskrivelse ORDER BY Elementer DESC
Det er ikke afprøvet, men burde virke... Du skal eventuelt ændre ORDER BY til: ORDER BY Count(es.elementid)
Proaccess >> det er sjældent jeg bliver imponeret her på Eksperten... men jeg ret imponeret over hvor hurtigt du klarede det jeg selv har brugt timer på...
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.