Avatar billede lizardine Nybegynder
28. marts 2001 - 10:24 Der er 15 kommentarer og
1 løsning

Group by problematik

Hej

Jeg har lidt problemer med Group By. Min SQL streng ser således ud:

SqlQ = \"Select Kategori, Designlink from tblKategori Group By Kategori, Designlink\"

Når jeg skriver et recordsættet ud er \"Kategori\" ikke grupperet.

Hvordan kan jeg grupperer \"Kategori\" uden at fjerne \"Designlink\" fra SQL strengen, da jeg skal bruge denne?
Avatar billede dudal Nybegynder
28. marts 2001 - 10:27 #1
SqlQ = \"Select Kategori, Designlink from tblKategori Group By Kategori\"

Burde virke. .-)
Avatar billede lizardine Nybegynder
28. marts 2001 - 10:30 #2
Det gør det ikke.... der opstår følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Column \'tblKategori.Designlink\' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Avatar billede nute Nybegynder
28. marts 2001 - 10:33 #3
er du sikker på at de ikke blir gruppert ?? det blir jo gruppert på det første parameter først (Kategori) og deretter det andre parameter (Designlink)

/nute
Avatar billede lizardine Nybegynder
28. marts 2001 - 10:35 #4
Der sker ikke en gruppering af f.eks. \"Kategori\"
Avatar billede ldanielsen Nybegynder
28. marts 2001 - 10:43 #5
Kategori er sådan set grupperet, men hvis der findes to forskellige Designlinks med samme Kategori, så får du to linier med samme Kategori.

Men ellers ville det ene Designlink jo forsvinde, ikke? Og det var jo ikke meningen.

Kan du ikke stille en lille tabel op som eksempel, bare ca. 10 rækker, og så forklare hvad du vil have ud af det, så skal jeg prøve at skrue den sammen.

Hilsen Lars
Avatar billede lizardine Nybegynder
28. marts 2001 - 10:46 #6
Herer goes

Kategori    Navn    Designlink
--------------------------------
Biler        Volvo    www.url.dk
Biler        Fiat    www.url2.dk
Køkken      Glas    www.glas.dk
Køkken      Knive    www.knive.dk
Have        Blomster www.have.dk
Have        Græs    www.græs.dk
Have        Sten    www.sten.dk

Outputtet skal være følgende
Biler
Køkken
Have
Avatar billede dudal Nybegynder
28. marts 2001 - 10:49 #7
Så skal du jo slet ikke bruge designlinket. Oder?

If so, Hvad skal biler linke til? url.dk eller url2.dk?

/Jesper
Avatar billede lizardine Nybegynder
28. marts 2001 - 10:51 #8
Ovenstående var bare et eksempel.... jeg skal bruge designlinket.
Avatar billede nute Nybegynder
28. marts 2001 - 10:51 #9
Normalt kan du ikke bruke Group by på tekst. Hvis du hadde bygget en korrekt relasjonell tabell, så hadde du benyttet tallverdier istedenfor tekst (i fx. Kategori). Dette hadde hjulpet deg litt på veien.

Men hva er poenget med å gruppere Kategori når fx Volvo og Fiat ikke har noe med hverandre å gjøre ?

/nute
Avatar billede lizardine Nybegynder
28. marts 2001 - 10:54 #10
Det er rigtigt at en relationstabel havde været et plus.... men det er allerede eksisterende tabel jeg sidder og arbejder med. Og som før nævnt var ovenstående tabel blot et eksempel :)
Avatar billede dudal Nybegynder
28. marts 2001 - 10:56 #11
Du kan prøve noget i denne stil:

strSql = \"SELECT DISTINCT(Kategori), (SELECT Top 1 Designlink FROM tblKategori Where Kategori = Kategori) AS DLink FROM tblKategori\"

Prøvede lige på en af mine egne tabeller, og det så ud til at virke. :-)

/Jesper
Avatar billede nute Nybegynder
28. marts 2001 - 10:57 #12
jeg tror nok ikke du kan komme ut av dette på den måten du ønsker (ved bruk av SQL). Du kan kode deg ut av problemet ditt, men jeg kan ikke se en \"korrekt\" måte du kan komme deg ut av dette på.

*Hvis* det var mulig å gruppere på tekst, så ville du allikevel få flere hits på fx Biler. Group by fungerer i prinsippet på samme måte som SELECT DISTINCT, og hvis du ser på de to oppføringer av Biler, så er disse to records unike, og derfor vil de aldri bli gruppert...

/nute
Avatar billede nute Nybegynder
28. marts 2001 - 11:00 #13
dudal >> men da er man jo nødt til å på forhånd vite hvilken kategori man søker etter....
Avatar billede lizardine Nybegynder
28. marts 2001 - 11:01 #14
Fuck dudal - jeg er imponeret.... det virker fandme - mange tak
Avatar billede dudal Nybegynder
28. marts 2001 - 11:01 #15
Øhhhh. hvorfor?
Avatar billede dudal Nybegynder
28. marts 2001 - 11:02 #16
Det var så lidt... Lidt af et hack, men hvis det virker, så er alt jo godt.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Politiets Efterretningstjeneste

GenAI-specialist i PET

Netcompany A/S

IT Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Analytiker til Security Operations Center ved Cyberdivisionen