Avatar billede zehrid Nybegynder
18. maj 2005 - 14:25 Der er 17 kommentarer og
1 løsning

selecting data fra to forskellige tabeller

hej.jeg skal lave en drop-down liste med dataerne fra to forskellige tabeller fra den samme database. hvordan skriver jeg det i mysql?
Avatar billede busschou Praktikant
18. maj 2005 - 14:29 #1
Select tabel1.felt1, tabel1.felt2, tabel2.felt1 From tabel1, tabel2
eller
Select * From tabel1, tabel2
Avatar billede zehrid Nybegynder
18. maj 2005 - 15:05 #2
det virker ikke optimalt... min system kører uffatelig langsom og det tager 10 min for at loade.. og det er ikke fordi at der er tusindvis af dater fra den anden tabel som jeg vil tilføre til min drop-down liste...... kan det gøres på en anden måde....?
Avatar billede busschou Praktikant
18. maj 2005 - 15:14 #3
Det er nu engang måden man henter data fra to tabeller
Alternativt kan du lave to seperate sql sætninger og derefter loope dem igennem manuelt.
Meeen det tvivler jeg på er hurtiger
Avatar billede busschou Praktikant
18. maj 2005 - 15:15 #4
10min det lyder slemt. Der må være et og andet galt hvis du ikke har meget data i databasen?
Så må der være noget andet som gør det måske
Avatar billede zehrid Nybegynder
18. maj 2005 - 15:23 #5
det er det ikke,, same shit.. der er et eller andet galt... men du får dine points for det rigtige svar..
Avatar billede arne_v Ekspert
18. maj 2005 - 15:23 #6
ovenstående ganger tabellerne sammen hvis der er 10 rækker i hver får du 100 rækker
ialt

jeg tror at du skal bruge UNION
Avatar billede arne_v Ekspert
18. maj 2005 - 15:24 #7
(select * from tabel1)
union
(select * from tabel2)
Avatar billede busschou Praktikant
18. maj 2005 - 15:26 #8
Har lagt et union forslag i dit ekstra samme spørgsmål i php kategorien!
arne_v >> Well ... kun hvis der ikke er en where clause med vel? - ved jeg så godt jeg ikke gav..men skal lige være sikker :o)
Avatar billede zehrid Nybegynder
18. maj 2005 - 15:29 #9
ok! jeg prøver lige..!
Avatar billede arne_v Ekspert
18. maj 2005 - 15:29 #10
kun hvis der ikke er en WHERE eller ON

men symptomet "tager 10 minutter" giver mig associationer

10x10 er 100

men 10000 x 10000 er 100 millioner
Avatar billede imago-dei Nybegynder
18. maj 2005 - 15:30 #11
Den med union er korrekt hvis du _ikke_ skal have kombinationen (det kartesiske produkt) af data fra tabellerne.

Ellers hvis du skal kombinere hver række i den ene tabel med hver række i den anden tabel skal du lave en join.

Men hvis queryen tager 10 min. at udføre er noget helt galt i dit system. Der skal en ufattelig stor database eller et meget langsomt system til at queryen bør tage 10 min.
Avatar billede zehrid Nybegynder
18. maj 2005 - 15:32 #12
det virker :)
arne_v .. du kan får de 15 points hvis du svarer her mens busschou får points i den anden tråd . er det ikke fair?
Avatar billede busschou Praktikant
18. maj 2005 - 15:35 #13
fair for mig :o)
Jeg synes stadig 10 min lyder af meget selvom arne giver en god pointe
Tænker på du laver en select boks
Der skal dælme være mange elementer før det tager ti min at hente dem ud
Om så der var 100*100 burde det ikke tage ti min tror jeg
Og 100 elementer i een select...det er mange ;o)
Avatar billede zehrid Nybegynder
18. maj 2005 - 15:36 #14
det tog lang tid pga. at jeg havde cirka 1000 rækker i den 1. tabel... og cirka 100 i den anden :) men nu kører det fint :)
Avatar billede busschou Praktikant
18. maj 2005 - 15:40 #15
bare nysgerrig
Vil det sige du vil lave een enkelt dropdown box med ialt ca 1100 rækker?.. vildt synes jeg :o)
Avatar billede arne_v Ekspert
18. maj 2005 - 15:41 #16
svar
Avatar billede zehrid Nybegynder
18. maj 2005 - 15:49 #17
hehehe ja det har jeg fået at vide at jeg skal!!! men jeg har også lavet en ny drop-down liste med cirka 20 rækker som ved udvælgelse af en række afgrænser den anden liste...... altså ved hjælp af javascript... og funktionen: onchange="resubmit()"
Avatar billede busschou Praktikant
18. maj 2005 - 15:52 #18
oki fornuftig ting.. man skal jo gøre som man får besked på..men damn jeg ville nødig køre så lang en liste igennem ;o) men godt det virker nu:o)
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
Computerworld tilbyder specialiserede kurser i database-management

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