22. juni 2009 - 20:47Der er
2 kommentarer og 1 løsning
Samle flere queries i en query
Jeg har f.eks. to tabeller
tabel kategorier --- ID_KATEGORI (int) navn (varchar)
tabel overskrifter --- navn (varchar) ID_KATEGORI (int)
Lige pt. hvis jeg ønsker at udskrive en samlet oversigt over alle kategorier og alle overskrifter under hver enkelt kategori så bruger jeg en query i stil med "SELECT * FROM kategorier"
Derefter bruger jeg en PHP foreach på hver række og kører en "SELECT * FROM overskrifter WHERE overskrifter.ID_KATEGORI = kategorier.ID_KATEGORI"
Er det muligt at lave en samlet query i stedet for at køre mange ens queries? Og i givet fald hvordan? Jeg har prøvet at læse noget om LOOPs, NESTED QUERIES og SUBQUERIES uden at finde noget jeg kunne prøve at lave noget ud fra.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Jeg prøvede lige at køre den i phpmyadmin og jeg får rigtigt nok alle overskrifter for hvert, men jeg får samtidigt kategorinavnet udskrevet for hver række. er det ikke muligt at få noget i stil med
Eller skal man bearbejde dataet bagefter? I mit hoved virker det som om der bliver hentet overflødig data (kategorinavnet) igen og igen hvis man har mange rækker, eller er det bare mig der er sippet?
Tja, det er sådan et mysql query virker - det returnerer en 2D tabel - hverken mere eller mindre.
Din while skal bare starte med at udskrive kategorinavnet, hvis det er første gang eller hvis det er skiftet siden sidste, så får du det ønskede resultat.
Mht evt overfødighed - prøv at tage tid på den kode i forhold til din oprindelige - den er langt mere effektiv.
Synes godt om
Ny brugerNybegynder
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.