Avatar billede nidkin Nybegynder
10. oktober 2003 - 15:08 Der er 4 kommentarer og
1 løsning

sortering efter rummål

Sidder med en lidt sjov problemstilling som jeg er ved at give op overfor.

Jeg har en mySQL Database hvor jeg skal trække en liste ud med nogle kasser sorteret efter rummål.

SELECT produktID, produktInfo, Salgspris FROM produkter WHERE produkttype='kasser'

produktinfo indeholder dimensionerne på kassen i formatet '100 x 50 x 50 cm.' ud fra dette kan jeg så regne selve rummålet ud. (100*50*50/1000)

Problemet er som sagt at jeg godt kunne tænke mig at kunne sortere listen med kasser efter rummål.

Kan jeg på nogen måde lave et ekstra "kunstigt" felt i mit recordset som jeg så editere med værdien af regnestykket UDEN at lave ændringer i databaseoplysningerne?

Umiddelbart er den eneste måde jeg kan se at løse problemet på et rigtig usexet Array, hvilket jeg naturligvis gerne vilundgå at kaste mig ud i.

Nogen der har et forslag til en løsning?
Avatar billede netro Nybegynder
10. oktober 2003 - 15:38 #1
Du kan benytte en lidt improviseret løsning med funktionen SubString() i dit statement, men det bliver noget bøvl, synes jeg.
Opdel hellere dine mål i tre kolonner (bredde, højde, dybde):

B    H    D

Herefter burde du kunne lave følgende statement:

Select produktID, produktInfo, Salgspris, (B * H * D) As Rummaal From produkter Where produkttype = 'kasser' Group By produktID, produktInfo, Salgspris Order By Rummaal Desc

Hvis du ikke vil ændre i tabellen, kan du tilføje det nye omtalte felt med rummål, som du opdaterer samtidig med, at du indsætter dimensionerne.
Avatar billede hiks Nybegynder
10. oktober 2003 - 15:48 #2
jeg vil også mene at hvis du vil undgå at bruge et array hvor du sidder skal til at splitte og efterfølgende sortere - ja så er det nemmere at "støbe" i databasen og så bare styre outputtet så det står i det format du gerne vil have.

forstår dog ikke helt hvad netro vil med sin group by! Jeg går udfra at produktID'et er unikt.

Men anyways så kan du jo selv efterfølgende smide en <% orderby %>'-variable ned i sql'en så den kan sortere på kryds og tværs af hvad du vil have den til.

/Hiks
Avatar billede netro Nybegynder
30. september 2004 - 23:26 #3
Nej, group by er også helt overflødigt. Jeg ved ikke, hvorfor jeg satte den ind.

Hvorfor afviser du i øvrigt mit svar uden begrundelse?
Avatar billede snowball Novice
06. oktober 2004 - 09:46 #4
netro: Vi må gå ud fra at nidkin har givet point til den person der har hjulpet ham bedst. Det ville måske nok have været mest hensigtsmæssigt at dele pointene mellem jer da i supplerer hinanden godt, men vi mener ikke der er gjort noget direkte forkert i dette spørgsmål.

Snowball / CoAdmin
Avatar billede netro Nybegynder
09. oktober 2004 - 02:51 #5
Nej, det er der måske ikke, men man savner lidt feedback fra spørger...
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