17. april 2001 - 15:41Der er
22 kommentarer og 1 løsning
Hent samme data fra flere tabeller med samme kolonnenavne
Er der nogen der ved hvordan man henter fra flere tabeller, således at resultatet kommer som om man hentede fra en tabel? - det kræver vist en forklaring.
Lad os sige at vi har 3 tabeller i samme database- tabel1, tabel2 og tabel3. Hver af disse tabeller indeholder de samme slags kolonner som kaldes ID og navn. Nu vil jeg gerne hente alle de rækker fra de tre tabeller hvor ID = 3 f.eks. Men resultat \"tabellen\" må kun være 2 kolonner, og ikke 6 kolonner(de tre tabeller ved siden af hinanden). Er der nogen der ved hvordan man gør det?
P.s. Jeg kan ikke bruge svaret, at man kan gøre det én ad gangen. Ej heller at det ikke kan lade sig gøre, for det kan det - har jeg set.
Hvis tabellerne er ens og din mysql er af nyere dato ( > 3.23.25), så kan du oprette en \"merge-tabel\" over dine tre tabeller og lave en select ud fra den.
Den eneste måde at gøre det på i mysql er ved at benytte merge-tabeller. Men det kræver, at din mysql er ny nok til at understøtte det og at dine tabeller er ens.
Eller også må du vente på at mysql får support for unions.
MERGE tables uses more file descriptors. If you are using a MERGE that maps over 10 tables and 10 users are using this, you are using 10*10 + 10 file descriptors. (10 data files for 10 users and 10 shared index files.)
ja, det er der selvfølgelig noget om... men er vi 10 brugere på, og der er f.eks. 20 tabeller, så skal jeg bruge 210 fildeskreptorer... jeg ved ikke hvad unix\' loft er... men det kan da blive et problem.
Jeg er også rimelig sikkert på at der kommer flere end 20 tabeller - måske 50....
I er 10 brugere på siger du. Men er der også 10 brugere, der benytter den merge-tabel samtidig?
Jeg går stærkt ud fra, at mysql slipper sine filedescriptors efter en query er udført. Så spørgsmålet er vel om du udfører 10 queries på den samtidigt?
ja, det er selvfølgelig et spg. om hvorvidt de er på samtidig. 10 personer samtidig er sku nok lidt overilet, men det er et potientielt problem.
Alle brugere der er på, skal merge den tabel sammen, men det går ikke at lægge tabellerne sammen. Derfor skal de merges sammen hver gang, og det er ikke utænkeligt at der er 10 personer på serveren samtidig. hmm, det er noget rigtigt lort :-()
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.