Avatar billede reino Nybegynder
17. oktober 2004 - 15:21 Der er 6 kommentarer og
1 løsning

group by, order by

Hej

Er stødt ind i et problem og kan ikke gennemskue det, skal lave et sdb udtræk hvor syntax pt er:

strSQL = "SELECT ProduktBillede, ProduktNavn, ProduktNummer, ProduktBeskrivelse, ProduktPris, ProduktID FROM Produkter WHERE produktpris between 200 and 300 order by produktpris, produktnummer asc"

Der findes dubletter af flere varerne hvor den eneste forskel ligger i, at kategoriid samt produktid er anderledes, dvs. at feks en kuglepen kan være oprettet flere gang, med forskelligt katid samt prodid.

Nu er det bare sådan at jeg når jeg prøver at lave en query, ønsker jeg kun at denne kuglepen bliver vist én gang i denne, har prøvet en del med distinct samt group by, men er løbet ind i en mur. Nogen forslag ?
Avatar billede Slettet bruger
17. oktober 2004 - 15:47 #1
Hvis jeg har forstået dig skal du have produktid væk hvis du skal anvende distinct.
Avatar billede rbl Praktikant
17. oktober 2004 - 19:23 #2
Er det ikke bare:

strSQL = "SELECT distinct ProduktNavn, ProduktBillede, ProduktNummer, ProduktBeskrivelse, ProduktPris, ProduktID FROM Produkter WHERE produktpris between 200 and 300 order by produktpris, produktnummer asc"
Avatar billede ellebaek Nybegynder
17. oktober 2004 - 21:48 #3
strSQL = "SELECT distinct ProduktNavn, ProduktBillede, ProduktNummer, ProduktBeskrivelse, ProduktPris FROM Produkter WHERE produktpris between 200 and 300 order by produktpris, produktnummer asc"

produktID er som du skriver forskelligt i de forskellige..
Når du benytter distinct på flere forskellige felter, så skal alle felterne være helt ens for at de betragtes som værende ens.

Prøv i stedet med ovenstående (er som kryptos skrev uden produktid)
Avatar billede reino Nybegynder
19. oktober 2004 - 12:27 #4
Hejsa, forsøgte med denne og det virkede, kunne ikke bruge distinct da kategoriid og produktid var forskellige:

strSQL = "SELECT a.ProduktBillede, a.ProduktNavn, a.ProduktNummer, a.ProduktBeskrivelse, a.ProduktPris, a.ProduktID  FROM Produkter a WHERE a.produktid = (select max(b.produktid) from produkter b where a.produktnavn = b.produktnavn) and a.produktpris < 200 order by a.produktpris, a.produktnummer asc"

Men ellers tak for hjælpen :)
Avatar billede ellebaek Nybegynder
19. oktober 2004 - 21:06 #5
så skal du bare selv smide et svar og acceptere det :-)

Mvh. Jens
Avatar billede reino Nybegynder
19. oktober 2004 - 22:17 #6
tak , det gør jeg så :)
Avatar billede reino Nybegynder
19. oktober 2004 - 22:18 #7
tak , det gør jeg så :), igen igen
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