simenss Skrevet 18. september 2007 Del Skrevet 18. september 2007 Si at jeg kjører følgende spørring mot en MySQL-database: SELECT table.my_row AS `new_row` FROM `table` Hvordan får jeg da enten stilt et krav til `new_row` (WHERE AND/OR/NOT) eller sortere resultatet etter `new_row`? Tenkte først at jeg kunne gjøre slik: SELECT table.my_row AS `new_row` FROM `table` WHERE `new_row` = 'YES' Men dette gav bare feilmeldingen #1054 - Unknown column 'new_row' in 'where clause' . Det er ikke aktuelt å bruke: SELECT table.my_row AS `new_row` FROM `table` WHERE `my_row` = 'YES' ...noe som har med det egentlige formålet med problemstillingen. Jeg trenger derfor å sette krav til eller sortere resultatet etter en rad som er definert i selve spørringen. Lenke til kommentar
roac Skrevet 19. september 2007 Del Skrevet 19. september 2007 Det er ikke aktuelt å bruke ... 9522144[/snapback] Neihei? Og hvorfor ikke det? Det er slik SQL fungerer. En liten forenklet begrunnelse: Where clausen brukes til å filtrere hvilke data som skal presenteres til klienten, noe som skjer før kolonnene navngis. Eventuelle workarounds vil potensielt ha negative ytelsesmessige konsekvenser, og frarådes. Lenke til kommentar
simenss Skrevet 19. september 2007 Forfatter Del Skrevet 19. september 2007 (endret) Grunnen til at dette ikke er aktuelt kan leses i denne posten. Jeg ønsker å løse dette problemet kun med bruk av MySQL, men om det ikke går, er jeg nødt til å blande inn PHP og arrays. Hadde bare håpet at det var mulig å unngå det EDIT: Men vil en eventuell workaround gi mer ytelsestap enn å la MySQL returnere alle radene (mange tusen), for så å la PHP søke gjennom en array etter en rad som tilfredsstiller kravene? Endret 19. september 2007 av simenss Lenke til kommentar
blackbrrd Skrevet 24. september 2007 Del Skrevet 24. september 2007 (endret) Jeg leste gjennom hele posten og ser ikke helt hva du sikter til. Har forresten postet et forslag til løsning på queryen du slet med sist - selv om jeg ikke ser poenget med den enda da Tror du burde bruke litt mer tid på å tenke på hva du skal vise av data, og hvorfor du skal vise dem. Ser ikke problemet ditt ovenfor - utfra gitte kriterier så bygger du opp queryen din pseudokode: Variabel kolonnenavn = "my row" "SELECT "+kolonnenavn+" FROM tabell ORDER BY "+kolonnenavn Endret 24. september 2007 av blackbrrd Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå